0

如果我有一个字典,其中键为元组,值为 int .. 即x = {('G', 'N', 'L', 'C'): 4},我如何告诉 python 键的第一个元素等于值 .. 那么,'G' = 4?有没有办法我可以做到这一点?

4

1 回答 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 回答