【发布时间】:2013-01-08 13:52:02
【问题描述】:
是否可以在 Python 中创建字典解析(用于键)?
没有列表推导,你可以使用这样的东西:
l = []
for n in range(1, 11):
l.append(n)
我们可以将其缩短为列表理解:l = [n for n in range(1, 11)]。
但是,假设我想将字典的键设置为相同的值。 我能做到:
d = {}
for n in range(1, 11):
d[n] = True # same value for each
我试过了:
d = {}
d[i for i in range(1, 11)] = True
但是,我在for 上收到了SyntaxError。
另外(我不需要这部分,只是想知道),你能把字典的键设置成一堆不同的值吗,像这样:
d = {}
for n in range(1, 11):
d[n] = n
这可以通过字典理解实现吗?
d = {}
d[i for i in range(1, 11)] = [x for x in range(1, 11)]
这也会在for 上引发SyntaxError。
【问题讨论】:
-
供未来读者参考:NumPy 数组确实允许您将多个元素设置为单个值或值列表,就像您尝试做的那样。虽然如果你还没有理由使用 NumPy,那么仅仅为了这个功能可能不值得。
标签: python dictionary list-comprehension