我在这个网站上寻找过类似我的例子,但找不到答案。
我要解析的文件是一个简单的文件,其键值对由冒号分隔。
one:two
three:four
five:six
seven:eight
nine:ten
sample:demo
我认为应该有一个简单的解决方法来理解字典。
我的第一次尝试是
fin = open('f00.txt', 'r')
L = {kv[0]:kv[1] for line in fin for kv in line.strip().split(':')}
这产生了
{'o': 'n', 't': 'e', 'f': 'i', 's': 'a', 'e': 'i', 'n': 'i', 'd': 'e'}
唯一能得到结果的方法是
L = {line.strip().split(':')[0]:line.strip().split(':')[1] for line in fin}
但那需要打电话
split
两次(索引为0和1)
另一种方法是:
d = {}
for line in fin:
kv = line.strip().split(':')
d[kv[0]] = kv[1]
{'one': 'two', 'three': 'four', 'five': 'six', 'seven': 'eight', 'nine': 'ten', 'sample': 'demo'}
只是想知道是否有一个简单的理解什么是一个微不足道的任务。
感谢您提供的任何输入。