压缩嵌套列表,列表在 Python
Zip nested list with list in Python
Python 这里是新手。我有四个列表,其中三个是嵌套列表,一个不是。我正在寻找一种方法来将嵌套列表与列表一起压缩,以便 zip 函数将每个嵌套列表项与主列表中的相应项进行比较。
main = [1,3]
a = [[1,2,3][4,5,6]]
b = [[0,1,2][3,4,5]]
c = [[2,3,4][5,6,7]]
>>>[[[True, False, False],[False,True,False],[False,False,False]],
[[False,False,False],[True,False,False],[False,False,False]]]
我试过这样的事情:
abc = zip(a,b,c)
test = (x==y for x, y in zip(main,*abc)
但我收到错误消息 "too many values to unpack"。有什么建议吗?
想法是 zip()
main
列表与已经压缩的 a
、b
和 c
列表并嵌套 list comprehension:
>>> [[[item == x for item in l] for l in lists]
for x, lists in zip(main, zip(a, b, c))]
[[[True, False, False], [False, True, False], [False, False, False]],
[[False, False, False], [True, False, False], [False, False, False]]]
Python 这里是新手。我有四个列表,其中三个是嵌套列表,一个不是。我正在寻找一种方法来将嵌套列表与列表一起压缩,以便 zip 函数将每个嵌套列表项与主列表中的相应项进行比较。
main = [1,3]
a = [[1,2,3][4,5,6]]
b = [[0,1,2][3,4,5]]
c = [[2,3,4][5,6,7]]
>>>[[[True, False, False],[False,True,False],[False,False,False]],
[[False,False,False],[True,False,False],[False,False,False]]]
我试过这样的事情:
abc = zip(a,b,c)
test = (x==y for x, y in zip(main,*abc)
但我收到错误消息 "too many values to unpack"。有什么建议吗?
想法是 zip()
main
列表与已经压缩的 a
、b
和 c
列表并嵌套 list comprehension:
>>> [[[item == x for item in l] for l in lists]
for x, lists in zip(main, zip(a, b, c))]
[[[True, False, False], [False, True, False], [False, False, False]],
[[False, False, False], [True, False, False], [False, False, False]]]