字典值的逆序

时间:2014-06-01 19:06:19

标签: python list dictionary reverse

我有一个如下的python字典:

myDict = {'cb_rdbu_4': [['202', '0', '32'], ['244', '165', '130'], ['146', '197', '222'], ['5', '113', '176']]}

我喜欢反转列表中元素的顺序。因此,例如对于第一个键值列表,我希望具有以下顺序:

'cb_rdbu_4': [['5', '113', '176'], ['146', '197', '222'], ['244', '165', '130'], ['202', '0', '32']]

我该怎么做?

3 个答案:

答案 0 :(得分:0)

new_dict = dict([(key,reversed(value)) for key,value in myDict.items()])

或者如果您想在原地进行编辑

for key in myDict:
    myDict[key] = reversed(myDict[key])

而不是reversed(value)您可以value[::-1]

答案 1 :(得分:0)

这很简单。

for key, val in myDict.items():
    myDict[key] = myDict[key][::-1]

答案 2 :(得分:0)

您希望reverse()字典的所有values()

for seq in the_dict.values():
    seq.reverse()

如果您使用的是python2,可以将values()替换为itervalues()以获得更好的效果。

请注意,这会改变原始字典。如果您还想保留原始字典,可以使用字典理解创建一个新字典:

new_dict = {key: list(reversed(value)) for key, value in original.items()}

或者:

new_dict = {key: value[::-1] for key, value in original.items()}

如果您使用的是不提供字典理解的旧版python,您可以使用:

new_dict = dict((key, list(reversed(value))) for key, value in original.items())