我有一个嵌套元组列表,如下所示:
l = [('apple', ['gala','fuji', 'macintosh']),
('pear', ['seckel','anjou','bosc'])]
我喜欢按字母顺序排列元组的第二项,以便它看起来像:
l2 = [('apple', ['fuji','gala', 'macintosh']),
('pear', ['anjou','bosc','seckel'])]
我知道我可以将sorted(l)
应用于它,但我对Python很新,我遇到迭代问题。我怎么能这样做?
答案 0 :(得分:8)
类似以下内容 - 使用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'])]
答案 1 :(得分:5)
您可以使用list.sort()对“就地”进行排序。 这种方法可以为您分配任务,而且您无需触摸按键。
for _,v in l: v.sort()