我有两个列表。第一个是 a_list
,如下所示:
a_list = [1,2,3]
第二个是b_list
,它是一个包含列表的列表。是这样的:
b_list = [['a',1,'b'],['c',2,'g'],['e',3,'5']
我想做的是使用a_list
找到正确的b_list
并在中打印
。value[2]
>b_list
我的代码如下:
for a in a_list:
for b in b_list:
if b[1] == a:
print b[2]
实际上 a_list
有 136 个值。真正的 b_list
有 315 个列表。
我最初编写了代码来索引 b 项,并在 b[1] == a
时将其从 b_list
中删除。
我已经删除了该代码以解决真正的问题。
最佳答案
不需要循环a_list
;一个简单的 in
测试就足够了:
for b in b_list:
if b[1] in a_list:
print b[2]
如果您将 a_list
设为一组,效果会更好:
a_set = set(a_list)
for b in b_list:
if b[1] in a_set:
print b[2]
无论哪种方式,此代码都会打印:
b
g
5
您的示例数据。
关于python - 在列表列表中查找值时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15234753/