首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python - readline()循环将所有行放入字典中相同的值槽中。

Python - readline()循环将所有行放入字典中相同的值槽中。
EN

Stack Overflow用户
提问于 2018-11-13 14:20:02
回答 1查看 139关注 0票数 0

我正在尝试创建一个城市名称字典,它可以使用数字0-99访问。我有一个txt文档,从中读取城市名称,并在循环中使用python的readline()将每个城市输入到字典中。出于某种原因,我的循环在字典的第一个值槽中创建了一个列表,列表包含了所有的城市名称,而我希望每个城市对应于字典中的不同数字。为什么循环不进入字典的下一个键,并在下一个值槽中输入城市?

这是我的代码块:

代码语言:javascript
复制
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

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-13 15:07:51

您可以在Python中的每个文件行上直接迭代。你真正需要的似乎是一张城市清单,而不是一本字典。

所以你需要的可能是:

代码语言:javascript
复制
cities = []
with open("cities.txt", "r") as infile:
    cities = [city.rstrip('\n') for city in infile]

如果您真的想要字典,那么使用索引作为键,将列表转换为字典:

代码语言:javascript
复制
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)}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53283088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档