如果我有一个字典,其中键为元组,值为 int .. 即x = {('G', 'N', 'L', 'C'): 4}
,我如何告诉 python 键的第一个元素等于值 .. 那么,'G' = 4
?有没有办法我可以做到这一点?
问问题
105 次
1 回答
2
听起来你想形成一个新的dict
:
In [40]: x = {('G', 'N', 'L', 'C'): 4}
In [41]: y = {key[0]:val for key,val in x.iteritems()}
In [42]: y
Out[42]: {'G': 4}
这是另一种方式,它使用较少的 Python 风吹草动。首先请注意,您可以遍历字典中的 (key, value) 对:
x = {('G', 'N', 'L', 'C'): 4}
for key in x:
print(key)
print(x[key])
产量
('G', 'N', 'L', 'C')
4
因此,您可以定义一个新的 dict 关联'G'
如下4
:
x = {('G', 'N', 'L', 'C'): 4}
y = {}
for key in x:
y[key[0]] = x[key]
print(y)
# {'G': 4}
该表达式{key[0]:val for key,val in x.iteritems()}
的作用与上面的 for 循环完全相同。它被称为字典理解(在页面下方搜索“字典理解”)。
该表达式还使用iteritems 方法,该方法在每次通过循环时为您提供一个键和一个值,而不仅仅是键。
于 2013-04-02T19:08:46.493 回答