使用my_file.txt中的密钥对元组创建一个字典。如果键存在多次具有不同值,请使用第一个看到的值 (例如,我们遇到密钥的第一个实例)。
my_file = [('a', '1')
('b', '2')
('c', '3')
('d', '4')
('e', '5')]
def makehtml(fname):
with open(fname) as f: # reads lines from a fname file
for line in f:
tups = line2tup(line,"--") # turns each line into a 2 elem tuple on it's own line.
print tups
如何从my_file键/值对创建字典。我已经尝试过dict(my_file),但它告诉我“ValueError:字典更新序列元素#0的长度为1; 2是必需的”。
答案 0 :(得分:0)
dict
构造函数接受元组列表作为参数:
>>> my_file = [('a', '1'),
('b', '2'),
('c', '3'),
('d', '4'),
('e', '5')]
>>> dict(my_file)
{'e': '5', 'd': '4', 'c': '3', 'b': '2', 'a': '1'}
编辑:啊,我遇到了你的问题。假设您的文件如下所示:
('a', '1')
('b', '2')
('c', '3')
('d', '4')
('e', '5')
然后这应该有效:
def makehtml(fname):
with open(fname) as f:
d = {}
for line in f:
key, value = line2tup(line,"--")
d[key] = value
return d
答案 1 :(得分:0)
这个怎么样:
mydict = {}
for line in open(fname):
k, v = line.split()
mydict[int(k)] = v