我正在编写一个程序来解析这样的列表。
['ecl:gry', 'pid:860033327', 'eyr:2020', 'hcl:#fffffd', 'byr:1937', 'iyr:2017', 'cid:147', 'hgt:183cm']
Run Code Online (Sandbox Code Playgroud)
我想把这个列表变成我在这里完成的键值对的字典:
keys = []
values = []
for string in data:
pair = string.split(':')
keys.append(pair[0])
values.append(pair[1])
zipped = zip(keys, values)
self.dic = dict(zipped)
print(self.dic)
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用列表理解在这样的时间制作列表之一
keys = [s.split(':')[0] for s in data]
values = [s.split(':')[1] for s in data]
Run Code Online (Sandbox Code Playgroud)
这需要两个循环,所以第一个代码示例会更好,但是有没有办法使用一个生成器生成两个列表并解包,然后将两者压缩在一起?