如何在python中的列表排序中获得正确的结果
如何对下面的列表进行排序 我的结果是:如何在python中的列表排序中获得正确的结果,python,Python,如何对下面的列表进行排序 我的结果是: ['10','11','12','7','8','9'],['1','2','3','4','5','6']] 这是我的密码 lst= [['7','10','8','9','11','12'],['3','1','2','4','6','5']] for i in lst: i.sort() print(i) 这些是字符串对象,用于字符串: '10' < '7' because `1 < 7` 只需在排序之前将它们转换
['10','11','12','7','8','9'],['1','2','3','4','5','6']]
这是我的密码
lst= [['7','10','8','9','11','12'],['3','1','2','4','6','5']]
for i in lst:
i.sort()
print(i)
这些是字符串对象,用于字符串:
'10' < '7' because `1 < 7`
只需在排序之前将它们转换为int对象
如果需要将它们保留在字符串对象中,请将它们隐藏回去或设置密钥:
>>> [list(map(str, i)) for i in [sorted(map(int, i)) for i in lst]]
[['7', '8', '9', '10', '11', '12'], ['1', '2', '3', '4', '5', '6']]
>>> [sorted(i, key=lambda x: int(x)) for i in lst]
[['7', '8', '9', '10', '11', '12'], ['1', '2', '3', '4', '5', '6']]
使用排序(列表,key=int):
您想要的输出是什么?只需谷歌如何在python中对列表排序。。你会发现很多关于这个的东西topic@BrianCain问一个非常合理的问题:你得到的输出有什么问题?在我看来,您正在对字符串进行排序,并且通过对这些字符串进行排序获得了预期的输出。没什么明显的问题。你必须告诉我们问题出在哪里。想一想,你有一个包含两个列表的列表,对吗?要访问第一个,您需要执行
lst[0]
和访问另一个lst[1]
。。。我把剩下的留给你。好吧,我以前不知道:)这是给我的:[[7,8,9,10,11,12],[1,2,3,4,5,6]]不是[1,2,3,4,5,6],[7,8,9,10,11,12]谢谢你
>>> [list(map(str, i)) for i in [sorted(map(int, i)) for i in lst]]
[['7', '8', '9', '10', '11', '12'], ['1', '2', '3', '4', '5', '6']]
>>> [sorted(i, key=lambda x: int(x)) for i in lst]
[['7', '8', '9', '10', '11', '12'], ['1', '2', '3', '4', '5', '6']]
lst= [['7','10','8','9','11','12'],['3','1','2','4','6','5']]
for i in lst:
i = sorted(i, key=int)
print(i)