繁体   English   中英

Python:找到包含一个不重要元素的子列表

[英]Python: find sublist with one non important element

我有一个清单:

lst = [[1, 2, 5], [2, 4, 6], [3, 3, 6]]

其中每个元素代表[x, y, size]并且我正在尝试绘制大小为8x8的 map 。

for x in range(8):
    string = ""
    for y in range(8):
        if [x,y,*] in lst:
           string += *
        else:
           string += "0"

是否有可能在*可以是任何数字的列表中搜索[x, y, *]而无需遍历其所有元素? 感谢您的时间和帮助!

假设*总是在最后一个 position 中,您使用x,y对作为键创建一个dict

>>> lst = [[1,2,5],[2,4,6],[3,3,6]]
>>> m = {(x,y): [x,y,s] for (x,y,s) in lst}
>>> m[2,4]
[2, 4, 6]

这只会为每个x,y键存储一个元素,因此如果可以有多个具有相同x,y的元素,请将值包装到列表中。

>>> m2 = collections.defaultdict(list)
>>> for x,y,s in lst:
...     m2[x,y].append([x,y,s])
...
>>> m2[2,4]
[[2, 4, 6]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM