【发布时间】:2011-01-31 05:09:27
【问题描述】:
我在检查列表中的元素时遇到了一个小问题: 我有两个文件,内容是这样的
file 1: file2:
47 358 47
48 450 49
49 56 50
我将这两个文件解析成两个列表,并使用以下代码进行检查
for i in file_1:
for j in file_2:
j = j.split()
if i == j[1]:
x=' '.join(j)
print >> write_in, x
如果 file_1 的值在 file_2 中不存在,我现在尝试获取“0”,例如,值“48”不存在 file_2,所以我需要得到类似的输出(中间只有一个空格这两个数字)而且这两个条件都应该只产生一个输出文件:
output_file:
358 47
0 48
450 49
56 50
我尝试使用字典方法,但我并没有完全得到我想要的(实际上我不知道如何在 python 中正确使用字典;))。任何帮助都会很棒。
【问题讨论】:
-
你试过保留 else 语句吗?否则 x = '0'.join (j)
-
数字(在文件 1 中和文件 2 中的第二个数字)总是按顺序排列吗?字母顺序还是数字顺序?他们甚至总是数字吗?输出文件是否需要按顺序排列?