【发布时间】:2015-01-15 22:08:26
【问题描述】:
我需要关于这个概念的帮助。我是 Python 新手。
我知道我需要一个嵌套的 for 循环,但列表有两种不同的大小。我想循环 .dat 文件并检查它是否与 .csv 文件中的项目匹配。事情是这样的东西不能很好地比较。
for row in list1:
print(row)
for row2 in list2:
print(row2[1])
if row == row2[1]:
print(“match”)
else:
print(row2[1] + ' ' + row
)
这将输出如下输出:
list1-item1
list2-item1
list2-item1 list1-item1
list2-item2
list2-item2 list1-item1
list2-item3
list2-item3 list1-item1
我可以看到它没有正确迭代,因为我放置了打印件。我有两个要比较的 CSV 文件(一行分隔 '\n' 和一个逗号分隔)。我正在尝试从 list1 中查找 list2 中存在的项目,但我似乎无法让它遍历 list1 中的第一个项目?如果 Python 中有一个 eof 会更容易。我知道我在某个地方犯了一个愚蠢的错误,我就是不知道在哪里。
【问题讨论】:
-
你能把初始化
list1和list2的代码贴出来吗? -
您发布的代码和问题与标题不符。让我们想象两个列表
[1,2,3,4,5]和[1,3,2,4,5,7,8]。您是否要“按索引比较每个项目”,例如 1 到 1(匹配)、2 到 3、3 到 2、4 到 4(匹配)等等...或者,您想回答“看 1从 list1 - 它在 list2 中(匹配),从 list1 中查看 2 - 在 list2 中(匹配)等等......”?换句话说 - 在我的示例中,您希望看到 3 个匹配项还是 5 个匹配项?另外,根据 mattm - 我们可以看到列表初始化 - 因为row2[1]非常不寻常
标签: python list nested iteration