是否可以在Python中创建字典理解(用于键)?
没有列表推导,你可以使用这样的东西:
l = []
for n in range(1, 11):
l.append(n)
Run Code Online (Sandbox Code Playgroud)
我们可以将其缩短为列表理解:l = [n for n in range(1, 11)].
但是,假设我想将字典的键设置为相同的值.我可以:
d = {}
for n in range(1, 11):
d[n] = True # same value for each
Run Code Online (Sandbox Code Playgroud)
我试过这个:
d = {}
d[i for i in range(1, 11)] = True
Run Code Online (Sandbox Code Playgroud)
不过,我得到一个SyntaxError上for.
另外(我不需要这部分,但只是想知道),你能否将字典的键设置为一堆不同的值,如下所示:
d = {}
for n in range(1, 11):
d[n] = n
Run Code Online (Sandbox Code Playgroud)
字典理解是否可以实现?
d = {}
d[i for i in range(1, 11)] = [x for …Run Code Online (Sandbox Code Playgroud) 我在Python中有一个字典列表
[
{'id':'1', 'name': 'test 1', 'slug': 'test1'},
{'id':'2', 'name': 'test 2', 'slug': 'test2'},
{'id':'3', 'name': 'test 3', 'slug': 'test3'},
{'id':'4', 'name': 'test 4', 'slug': 'test4'},
{'id':'5', 'name': 'test 5', 'slug': 'test4'}
]
Run Code Online (Sandbox Code Playgroud)
我想把这个列表变成一个字典词典,关键是slug.如果slug是重复的,如上例所示,它应该忽略它.这可以通过复制其他条目或不同时重置它,我不打扰,因为它们应该是相同的.
{
'test1': {'id':'1', 'name': 'test 1', 'slug': 'test1'},
'test2': {'id':'2', 'name': 'test 2', 'slug': 'test2'},
'test3': {'id':'3', 'name': 'test 3', 'slug': 'test3'},
'test4': {'id':'4', 'name': 'test 4', 'slug': 'test4'}
}
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳方法是什么?