我刚开始使用python,我正试图创建一个程序来读取如下所示的文件:
AAA x 111
AAB x 111
AAA x 112
AAC x 123
...
这个文件有50行长,我正试图把这些字母编成字典里的键,以及与键对应的数字列表。
我希望输出如下:
{AAA: ['111', '112'], AAB: ['111'], AAC: [123], ...}
这是我试过的
file = open("filename.txt", "r")
readline = file.readline().rstrip()
while readline!= "":
list = []
list = readline.split(" ")
j = list.index("x")
k = list[0:j]
v = list[j + 1:]
d = {}
if k not in d == False:
d[k] = []
d[k].append(v)
readline = file.readline().rstrip()
我的if语句总是出现语法错误,我无法找出我做错了什么。
你在结尾处缺少冒号,也可以这样写:
在if语句的末尾需要冒号;此版本应该可以工作:
使用
defaultdict
使您的生活更轻松如果可能的话,使用
with
语句打开文件也是很好的做法。你最初的例子有两个条目str
,一个是int
,我刚刚把这里的所有条目都转换成了int
。相关问题 更多 >
编程相关推荐