TDN*_*DNS 2 python loops list python-2.7
我有两个清单.第一个是a_list,就像这样:
a_list = [1,2,3]
Run Code Online (Sandbox Code Playgroud)
第二个是b_list,它是一个包含列表的列表.就像这样:
b_list = [['a',1,'b'],['c',2,'g'],['e',3,'5']
Run Code Online (Sandbox Code Playgroud)
我要做的是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]
Run Code Online (Sandbox Code Playgroud)
实际上a_list有136个值.真实的b_list有315个列表.
我最初编写代码来索引b项并从b_listif中删除它b[1] == a.
我已经把代码拿出来解决真正的问题.
没有必要循环a_list; 一个简单的in测试就足够了:
for b in b_list:
if b[1] in a_list:
print b[2]
Run Code Online (Sandbox Code Playgroud)
如果你制作a_list了一套,这会表现得更好:
a_set = set(a_list)
for b in b_list:
if b[1] in a_set:
print b[2]
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,此代码打印:
b
g
5
Run Code Online (Sandbox Code Playgroud)
为您的示例数据.