我正在尝试创建一个城市名称字典,它可以使用数字0-99访问。我有一个txt文档,从中读取城市名称,并在循环中使用python的readline()将每个城市输入到字典中。出于某种原因,我的循环在字典的第一个值槽中创建了一个列表,列表包含了所有的城市名称,而我希望每个城市对应于字典中的不同数字。为什么循环不进入字典的下一个键,并在下一个值槽中输入城市?
这是我的代码块:
i = 0
cities = {}
inFile = open('cities.txt','r')
while i < 100:
str = inFile.readline()
str = [line.rstrip('\n') for line in inFile]
cities[i] = str
i += 1提前感谢
发布于 2018-11-13 15:07:51
您可以在Python中的每个文件行上直接迭代。你真正需要的似乎是一张城市清单,而不是一本字典。
所以你需要的可能是:
cities = []
with open("cities.txt", "r") as infile:
cities = [city.rstrip('\n') for city in infile]如果您真的想要字典,那么使用索引作为键,将列表转换为字典:
cities = []
with open("cities.txt", "r") as infile:
cities = [city.rstrip('\n') for city in infile]
citydict = {index: city for index, city in enumerate(cities)}https://stackoverflow.com/questions/53283088
复制相似问题