我有一个嵌套元组列表,如下所示:

l = [('apple', ['gala','fuji', 'macintosh']),
('pear', ['seckel','anjou','bosc'])]

我喜欢按字母顺序对元组的第二项排序,这样看起来像:
l2 = [('apple', ['fuji','gala', 'macintosh']),
('pear', ['anjou','bosc','seckel'])]

我知道我可以对它应用sorted(l),但是我对python很陌生,而且我在迭代中遇到了问题。我该怎么做?

最佳答案

如下所示-使用list comp构建新的元组。。。

l = [('apple', ['gala','fuji', 'macintosh']),
('pear', ['seckel','anjou','bosc'])]

l2 = [(k, sorted(v)) for k, v in l]
# [('apple', ['fuji', 'gala', 'macintosh']), ('pear', ['anjou', 'bosc', 'seckel'])]

07-25 23:50