我有一个由给定数量的子列表组成的列表。我需要根据存储在第一个列表中的值拒绝所有子列表中的项目来创建一个新的(较小的)列表。这就是我的意思的MWE:
a = [[0,0,0,1,1,1,2,2,2], [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9],
[0.21,0.22,0.23,0.24,0.25,0.26,0.27,0.28,0.29]]
b = [[] for _ in range(len(a))]
for indx, item in enumerate(a[0]):
if item == 2:
b[0].append(a[0][indx])
b[1].append(a[1][indx])
b[2].append(a[2][indx])
这导致:
[[2, 2, 2], [0.7, 0.8, 0.9], [0.27, 0.28, 0.29]]
这行得通,但我正在寻找一种更 Pythonic 的方式来创建我的b
列表。