如何迭代字典中的元组

时间:2012-06-02 03:11:29

标签: python dictionary loops

我需要在字典中的元组中将符号从正变为负。所以,如果我有'位置:(3,4)'我需要将它改为'位置:(3,-4)'。这就是我所拥有的,但它不起作用。

for k,v in positionD.items():
    v = (v[0],-v[1])
    positionNewD[k] = v

2 个答案:

答案 0 :(得分:0)

试试这个(需要Python> = 2.7):

positionNewD = {k: (x, -y) for k, (x, y) in positionD.iteritems()}

对于旧版本:

positionNewD = dict((k, (x, -y)) for k, (x, y) in positionD.iteritems())

答案 1 :(得分:0)

对于Python 3

positionNewD = {k: (x, -y) for k, (x, y) in positionD.items()}

...因为iteritems()已重命名为items()

http://docs.python.org/3.1/whatsnew/3.0.html#views-and-iterators-instead-of-lists