我正在尝试对列表中的列表进行排序。这就是我所拥有的。我想根据字母顺序对内部名单进行排序。尝试过使用循环但无济于事。内部较小的'列表'恰好是字符串,所以我不能将它们排序()为列表。错误:'str'对象没有属性'sort'
Names = [
[['John'] ['Andrea', 'Regina', 'Candice'], ['Charlotte', 'Melanie'],
['Claudia', 'Lace', 'Karen'] ['Ronald', 'Freddy'],
['James', 'Luke', 'Ben', 'Nick']]
]
我希望将其分类为:
[
[['John'] ['Andrea', 'Candice', 'Regina'], ['Charlotte', 'Melanie'],
['Claudia', 'Karen', 'Lace'] ['Freddy', 'Ronald'],
['Ben', 'James', 'Luke', 'Nick']]
]
谢谢。 编辑:对不起,我在之前的代码中犯了一个错误。我已经编辑了它。
答案 0 :(得分:4)
Names = [sorted(sublist) for sublist in Names]
这是一个列表理解,它接受Names
的每个子列表,对其进行排序,然后从这些排序列表中构建新列表。然后,它会使Names
列出
答案 1 :(得分:2)
内置列表方法:sort()
如果迭代它们,就会在子列表上就地工作:
Names = [['John', 'Andrea', 'Regina', 'Candice', 'Charlotte', 'Melanie'], ['Claudia', 'Lace', 'Karen', 'Ronald', 'Freddy'], ['James', 'Luke', 'Ben', 'Nick']
for sublist in Names:
sublist.sort()