我有以下列表:
list1 = [[1,1],info11,info21]
list2 = [[2,1],info12,info22]
list3 = [list1,list2]
list4 = [1,1]
然后此函数检查list4是否在list3
的子列表中if any(list4 in i for i in list3):
#Do something
else:
#Do something
我想要做的是打印[info11,info21]。但是,我真的不知道该怎么做。 我尝试了list3 [i],但它没有用,告诉我我是未定义的。我该怎么办?
答案 0 :(得分:1)
我想你想要这样的东西。
list1 = [[1,1],'info11','info21']
list2 = [[2,1],'info12','info22']
list3 = [list1,list2]
list4 = [1,1]
for i in list3:
if list4 in i:
print i[1:]
输出将是: - ['info11','info21']
答案 1 :(得分:0)
您也可以使用过滤器执行该任务
>>> list1 = [[1,1],"info11","info21"]
>>> list2 = [[2,1],"info12","info22"]
>>> list3 = [list1,list2]
>>> list4 = [1,1]
>>> filt_list = filter(lambda sublist:list4 in sublist,list3)
[[[1, 1], 'info11', 'info21']]
这会从不需要的列表中过滤嵌套列表。现在取决于您是否可以安全地说您只有一个匹配列表。如果是这样,只需从列表中取出第一个元素并使用切片表示法从第1个元素开始获取所有元素
>>> print filt_list[0][1:]
['info11', 'info21']