如果我有一个清单,
lstValues=[1, 2, "cat", "meow"]
我有一个带键的字典如下:
data {id, count, animal, sound}
如果我正在读取格式如下的文件:
#id count animal sound
10 1 tiger purr
11 2 lion roar
我正在读取文件并且每行都被拆分以返回上述格式的列表,有没有办法将列表中的值附加到字典?
因此,如果我要求的是可能的话,我将能够做到这样的事情:
data.append(lstValues)
我知道字典键没有设定顺序。我很确定这是不可能的,但我想要确认。
编辑:我想避免进行手动分配。我知道dicts不支持我提供的语法作为一个例子,这就是我说“类似”的原因。
答案 0 :(得分:2)
这是一个快速的方法:
keys = ["id", "count", "animal", "sound"]
lstValues = [1, 2, "cat", "meow"]
data = dict(zip(keys, lstValues))
zip
函数将两个列表组合成一个元组列表(每个元组是一个键和一个值)。 dict
函数将元组列表转换为字典。
答案 1 :(得分:0)
如果数据是dict,那么你就不能使用append。 试试这个 -
data = {}
data['id'] = lstValues[0]
data['count'] = lstValues[1]
data['animal'] = lstValues[2]
data['sound'] = lstValues[02]
print data