我从下面的代码得到的结果是错误的:
[
'199|4|11|GDSPV',
'199|4|11|GDSPV|199|16|82|GDSPV',
'199|4|11|GDSPV|199|16|82|GDSPV|205|16|82|GDSPV'
]
我希望结果与fr列表相同,但电子邮件替换为dictionary d的值。我完全不明白这为什么不能按预期工作?
fr = [
'[email protected]|4|11|GDSPV',
'[email protected]|16|82|GDSPV',
'[email protected]|16|82|GDSPV'
]
d= {
'[email protected]': '199',
'[email protected]': '200',
'[email protected]': '205'
}
col_list=[]
line_list=[]
for line in fr:
columns = line.split("|")
for col in columns:
if col==columns[0]:
col_list.append(d[col])
continue
col_list.append(col)
#i = i + 1
line_list.append("|".join(col_list))
print line_list
最佳答案
试试这个:
line_list=[]
for line in fr:
cols = line.split('|')
key = cols[0]
cols[0]=d[key]
line_list.append('|'.join(cols))
print line_list
关于python - Python字典和字典查找过程中的循环困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13577305/