繁体   English   中英

在列表列表中查找共同元素

[英]finding common elements in list of lists

在这里挣扎......我有一个这样的列表列表:

In [272]: mylist
Out[272]:
[['ABC', 'NY', 'DFW', '1'],
 ['ABC', 'NY', 'DFW', '2'],
 ['ABC', 'NY', 'LAX', '2']]

我正在尝试匹配在第二个元素中具有公共字符串的行,因此在这种情况下 DFW 将匹配

所以做这样的事情提供了预期的结果:

In [273]: mylist[0][2] in mylist[1][2]
Out[273]: True

In [274]: mylist[0][2] in mylist[2][2]
Out[274]: False

但是当我尝试迭代列表时,它对我来说没有意义

In [275]: for line in mylist:
     ...:     if line[2] in line[2]:
     ...:         print(f"matched {line[2]}")
     ...:
matched DFW
matched DFW
matched LAX

我只想打印出匹配的两行

我不确定我是否理解您,但您是否正在尝试这样做?

mylist = [['ABC', 'NY', 'DFW', '1'],
 ['ABC', 'NY', 'DFW', '2'],
 ['ABC', 'NY', 'LAX', '2']]

for line in mylist:
    if line[2] == mylist[0][2]:
        print(f"matched {line[2]}")

output:

matched DFW
matched DFW

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM