Python 如何在字典中仅对一个键值列表中的项进行排序

Python 如何在字典中仅对一个键值列表中的项进行排序,python,dictionary,nested-lists,Python,Dictionary,Nested Lists,我有一本字典,我会编词条 mystuff = {'candy': 10, 'purse' : ['phone', 'gum', 'bracelet'],'kit': ['bandages', 'tape']} 我只想按字母顺序对“钱包”键中的项目进行排序。我如何做到这一点而不改变其他一切的顺序 我希望输出是 mystuff = {'candy': 10,'purse' : ['bracelet', 'gum', 'phone'],'kit' : ['bandages', 'tape']} 正

我有一本字典,我会编词条

mystuff = {'candy': 10, 'purse' : ['phone', 'gum', 'bracelet'],'kit': ['bandages', 'tape']}
我只想按字母顺序对“钱包”键中的项目进行排序。我如何做到这一点而不改变其他一切的顺序

我希望输出是

mystuff = {'candy': 10,'purse' : ['bracelet', 'gum', 'phone'],'kit' : ['bandages', 'tape']}

正如其他人所指出的那样,你可以做我的糖果[钱包],在适当的位置排序。但这将改变现有数据

您还可以使用以下方法来避免现有数据的突变:

def new_value(key, value):
    return sorted(value) if key == 'purse' else value


transformed = {
    key: new_value(key, value)
    for key, value
    in mystuff.items()
}

排序列表是可变的,可以对dict访问返回的值的引用进行排序,就像上面的elomat注释所建议的那样。这是超基本的东西。