我想从每个列表创建具有相同索引元素的词典列表。
我有这本字典:
d = {'name': ['bob', 'john', 'harry', 'mary'],
'age': [13, 19, 23],
'height': [164, 188],
'job': ['programmer']}
Run Code Online (Sandbox Code Playgroud)
所需的输出是:
d2 = [{'name': 'bob', 'age': 13, 'height': 164, 'job': 'programmer'},
{'name': 'john', 'age': 19, 'height': 188},
{'name': 'harry', 'age': 23},
{'name': 'mary'}]
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这样的事情:
d2 = [dict(zip(d, t)) for t in zip(*d.values())]
Run Code Online (Sandbox Code Playgroud)
但是我的输出是:
d2 = [{'name': 'bob', 'age': 13, 'height': 164, 'job': 'programmer'}]
Run Code Online (Sandbox Code Playgroud)
我认为这是因为列表的长度不同而引起的。
我有一个字符串,其中包含稍后在代码中需要使用的信息,并且我想通过以下方式从字符串中创建字典。
该字符串的键以“。”结尾。
我想要一个像这样的字符串:
"Mem. 3000 GB Nm. Mario Andrew Ag. 34 Str. Photoliss Street Nr. 45B"
Run Code Online (Sandbox Code Playgroud)
成为这个命令:
{"Mem": "3000 GB", "Nm": "Mario Andrew", "Ag": "34", "Str": "Photoliss Street", "Nr": "45B"}
Run Code Online (Sandbox Code Playgroud)
键与字符串之间可以不同,因此它不遵循模板。