首页 > 解决方案 > 字典和列表的排序问题

问题描述

我有一个看起来像这样的字典:

dict1 = {'lion': ['gazelle'], 'jackal': ['grass', 'zebra', 'gazelle'], 'gazelle': ['grass', 'acacia leaves'], 'zebra': ['grass']}

我在这里有这个代码:

for x,y in sorted(dict1.items()):
    print(x,":",sep="",end=" ")
    print(', '.join(y))

代码输出:

gazelle: grass, acacia leaves
jackal: grass, zebra, gazelle
lion: gazelle
zebra: grass

如您所见,键已排序,但值未排序。我还想按字母顺序对值进行排序,但我不确定如何实现?

我想要的是:

gazelle: acacia leaves, grass
jackal: gazelle, grass, zebra
lion: gazelle
zebra: grass

很感谢任何形式的帮助!

标签: pythonpython-3.x

解决方案


您可以sorted使用以下值调用y

for x,y in sorted(dict1.items()):
    print(x,":",sep="",end=" ")
    print(', '.join(sorted(y)))

推荐阅读