Python字典文件未转换为数组

Python字典文件未转换为数组,python,Python,我正在加载一个包含单词和定义的文件,每个单词和定义在各自的行上,用冒号分隔。这是一个样本 disaray:混乱无序的状态 稳重、严肃 卑鄙的;卑鄙的;卑鄙的 把两件事联系起来 无根据的:不是基于事实或有效的情况 标点:特别指出 证实:陈述某事的正确性或真实性 有益的:以有益的方式作出贡献 我正在尝试使用以下代码读取文件: print("Currently loading file for your level") dictionary = {} with open("level"+str(le

我正在加载一个包含单词和定义的文件,每个单词和定义在各自的行上,用冒号分隔。这是一个样本

disaray:混乱无序的状态
稳重、严肃
卑鄙的;卑鄙的;卑鄙的
把两件事联系起来
无根据的:不是基于事实或有效的情况
标点:特别指出
证实:陈述某事的正确性或真实性
有益的:以有益的方式作出贡献
我正在尝试使用以下代码读取文件:

print("Currently loading file for your level")
dictionary = {}
with open("level"+str(level)+".txt","r+") as f:
    for line in f:
        print line
        line.split(":")
        dictionary[line[0]] = line[1]
print("Dictionary file has been loaded")
print(dictionary)
这些行打印正确,但是当我打印
字典
数组时,我得到了这个结果。
{'A':'p','C':'o','B':'e','m','D':'e','G':'r','F':'i','i':'r','H':'i','J':'o':'i','L':'u','o':'p','A','S':'u','r','e','u':'N','T','r','W':'A','V','e','


我不确定这里发生了什么,有人能帮忙吗?

str.split
不起作用。您需要将其分配到
,否则,您将索引原始行:

for line in f:
   line = line.split(":")
   dictionary[line[0]] = line[1]
更重要的是,您还可以简单地执行以下操作:

dictionary = dict(line.split(':') for line in f)

从生成器表达式生成字典。

str.split
不起作用。您需要将其分配到
,否则,您将索引原始行:

for line in f:
   line = line.split(":")
   dictionary[line[0]] = line[1]
更重要的是,您还可以简单地执行以下操作:

dictionary = dict(line.split(':') for line in f)

从生成器表达式构建字典。

问题在于
.split()
返回其值,而不是修改其参数。实际上它必须这样做,因为字符串在Python中是不可变的。所以你只需要改变一下:

line.split(":")
dictionary[line[0]] = line[1]


问题是
.split()
返回其值,而不是修改其参数。实际上它必须这样做,因为字符串在Python中是不可变的。所以你只需要改变一下:

line.split(":")
dictionary[line[0]] = line[1]


line=line.split(…)
split
返回结果,而不是编辑原始字符串。
line=line.split(…)
split
返回结果,而不是编辑原始字符串。如果您确信输入正确,词典理解肯定会更好,但显式版本确实具有在没有
时引发异常的良好功能(但它不会检查是否存在多个异常)。如果您确信输入正确,词典理解肯定会更好,但显式版本确实具有在没有
时引发异常的良好功能(但它不会检查是否存在多个异常)。