好吧,我可能会以不同的方式构建您的列表,但我会在一分钟内完成。
要做你想做的事,你需要以更老派的方式进行迭代:
neighbour = ['a', 'b', 'c']
scanned = [['a', 'b'],[1, 2]]
localisation = [[],[],[]]
for i in range(len(scanned[0])):
if scanned[0][i] in neighbour:
localisation[1].append(scanned[0][i])
localisation[2].append(scanned[1][i])
print localisation
>>> [[], ['a', 'b'], [1, 2]]
这是假设我(最终)正确理解了您想要的内容。然而,看起来scanned
实际上是两个列表,其中一个列表中的每个元素都以某种方式与另一个列表中的相同索引元素相关。改用 a 可能会让你的生活变得更轻松dict
:
# The keys from the dict are from scanned[0]; the values are from scanned[1]
scanned = {'a':1, 'b':2}
现在与这些列表有关的所有事情都变得更加容易(包括您必须对它们做的任何其他事情),因为您不必单独跟踪您的索引:
neighbour = ['a', 'b', 'c']
scanned = {'a':1, 'b':2}
localisation = [[], [], []]
for s in scanned:
if s in neighbour:
localisation[1].append(s)
localisation[2].append(scanned[s])
print localisation
>>> [[], ['a', 'b'], [1, 2]]