我正在处理嵌套列表,我想知道如何将所有列表按字母顺序排列,同时将它们包含在各自的列表中。
例如,如果我有一个包含品牌名称的嵌套列表:
lst = [['Canada Goose', 'Mackage', 'PJ'], ['GAP', 'Fendi', 'Nike'], ['Gucci', 'Adidas']]
及其输出:
sorted_lst = [['Canada Goose', 'Mackage', 'PJ'], ['Fendi', 'GAP', 'Nike'], ['Adidas', 'Gucci']]
我知道在常规列表中可以使用.sort()方法,但是在这里似乎并非如此。 我也读了Sorting lists inside nested lists,但我似乎听不懂
答案 0 :(得分:2)
如@SyntaxVoid所评论
sorted_lst = [sorted(x) for x in lst]
应该按照您的要求去做。
要弄清这是怎么回事,是您正在使用生成器生成排序列表的新列表。
[]正如您所知,这是一个列表
和roximmitley上面所做的与写作相似
sorted_lst = []
for x in lst:
sorted_lst.append(sorted(x))
您应该阅读https://realpython.com/python-sort/以获得更多帮助,并了解排序方式。
除了更好地理解SyntaxVoid的答案外,我建议您使用Google Python Generator,因为我的解释是一个恰当的示例,并且没有解释我的解释和代码之间的根本区别,即,一个生成广告生成器而另一个生成列表
答案 1 :(得分:2)