python - 在列表列表中查找共同元素
问题描述
在这里挣扎......我有一个这样的列表列表:
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]}")
输出:
matched DFW
matched DFW
推荐阅读
- batch-file - 如何在 Windows 批处理文件中获取管道输入?
- python - 如何将空字符串转换为“无”(python 3 使用 thonny)
- apache2 - ubuntu php pdo_sqlsev install fall 但 sqlsrv 成功
- php - Laravel Chumper / Zipper 权限在提取时被拒绝
- itext - itextsharp 在多页中分割一行(在绝对位置)
- python - 删除字符串python中的空格和破折号
- php - 我正在尝试使用 PHP 和 mysql 制作点击计数器
- java - 当订阅者在 rxjava 中抛出异常时如何继续处理?
- angular - 开发和生产中快照组件名称的不同值
- c# - 数组 Mvc 控制器到 JavaScript