Ema*_*936 3 python dictionary loops for-loop python-3.x
我试图从参考.txt文件中的值创建一个字典,但是当我创建字典并打印它时,在for循环中我得到了所需的结果:
ref = open("reference.txt", "r")
contents = ref.read().splitlines()
for line in contents:
data = line.split(",")
i = iter(data)
newData = dict(zip(i, i))
print(newData)
Output:
{"Bob's Diner": '001100111'}
{"Jim's Grill": '001100111'}
{"Tommy's Burger Shack": '01011101'}
Run Code Online (Sandbox Code Playgroud)
但是当我将print语句放在for循环之外时,我得到了不同的结果:
ref = open("reference.txt", "r")
contents = ref.read().splitlines()
for line in contents:
data = line.split(",")
i = iter(data)
newData = dict(zip(i, i))
print(newData)
Output:
{"Tommy's Burger Shack": '01011101'}
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题,以便将它编译成一个集体的,可用的字典?
在您的代码newData中指向每个循环迭代中的新字典,只需在外部创建一个字典并更新它:
newData = {}
for line in contents:
data = line.split(",")
i = iter(data)
newData.update(dict(zip(i, i)))
print(newData)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
335 次 |
| 最近记录: |