我如何获取文件的内容并将其更改为字典? 内容将包括以下形式的菜单项:
1 Chocolate ice cream
2 Green tea
8 Shrimp roll
我希望键是数字,值是食物。
到目前为止,我得到了:
d = {}
for line in menu.read().strip().split():
d[line[0]] = d[line[1:]]
return d
但结果是有偏差的...
最佳答案
逐行遍历文件对象,然后拆分行:
with open('inputfilename.txt') as menu:
d = {}
for line in menu:
key, value = line.split(None, 1)
d[key] = value.strip()
return d
.split(None, 1)
调用应用默认拆分算法(在任意宽度的空白处拆分),但将其限制为仅一个 拆分以仅返回2 项。优点是 以空格开头 的行(例如您帖子中的 ' 8 Shrimp roll'
行)也得到了正确处理,因为在拆分之前删除了前导空格。
这会产生:
{'2': 'Green tea', '1': 'Chocolate ice cream', '8': 'Shrimp roll'}
关于python - 将文件转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17813915/