【发布时间】:2018-02-05 17:29:01
【问题描述】:
我的字典有问题。我正在使用 Python3。我确信有一些我没有看到的简单的东西。
我正在从文件中读取行以创建字典。每行的前 3 个字符用作键(它们是唯一的)。从那里,我根据该行其余部分的信息创建一个列表。每 4 个字符构成列表的一个成员。创建列表后,我会写入目录,其中列表是值,行的前三个字符是键。
问题是,每次我向字典中添加一个新的键:值对时,它似乎都会覆盖(或更新)之前编写的字典条目中的值。键很好,只是值改变了。因此,最后,所有键的值都与文件中最后一行的列表等效。
我希望这很清楚。任何想法将不胜感激。
一个sn-p的代码如下
formatDict = dict()
sectionList = list()
for usableLine in formatFileHandle:
lineLen = len(usableLine)
section = usableLine[:3]
x = 3
sectionList.clear()
while x < lineLen:
sectionList.append(usableLine[x:x+4])
x += 4
formatDict[section] = sectionList
for k, v in formatDict.items():
print ("for key= ", k, "value =", v)
formatFileHandle.close()
【问题讨论】:
标签: python python-3.x list dictionary