Python 字符串和整数列表的排序列表
好的,我有一个包含多个列表的列表 列表的格式如下所示:Python 字符串和整数列表的排序列表,python,string,list,sorting,Python,String,List,Sorting,好的,我有一个包含多个列表的列表 列表的格式如下所示: list1 = [["Value1",1],["Value2",3],["Value3",2]] 我想按第二个值对内部列表进行排序,这样我就可以按顺序打印它们,比如Value1、Value3、Value2 任何关于如何做到这一点的帮助都将不胜感激。提前谢谢 您可以将sorted()用于: 您可以将sorted()用于: 使用lambda如何: >>> list1 = [["Value1",1],["Value2",3],
list1 = [["Value1",1],["Value2",3],["Value3",2]]
我想按第二个值对内部列表进行排序,这样我就可以按顺序打印它们,比如Value1、Value3、Value2
任何关于如何做到这一点的帮助都将不胜感激。提前谢谢 您可以将sorted()
用于:
您可以将sorted()
用于:
使用lambda如何:
>>> list1 = [["Value1",1],["Value2",3],["Value3",2]]
>>>
>>> list1.sort(key=lambda x: x[1])
>>> list1
[['Value1', 1], ['Value3', 2], ['Value2', 3]]
>>>
使用lambda如何:
>>> list1 = [["Value1",1],["Value2",3],["Value3",2]]
>>>
>>> list1.sort(key=lambda x: x[1])
>>> list1
[['Value1', 1], ['Value3', 2], ['Value2', 3]]
>>>
感谢您的快速回复!谢谢,效果很好!感谢您的快速回复!谢谢,效果很好!人们低估了lambda。它比
itemgetter
更健壮:假设您想按第一个元素的绝对值排序。或者通过x[0].lower()
,或者通过int(x[0][5:])
:无论如何,您可能会使用lambda
。(另一方面,有时人们认为lambda
有一些用def
定义的函数所缺乏的超能力。我们一直无法弄清楚原因。)@DSM是的,关于lambda
有很多不同的观点,实际上在python 3000中甚至删除了它:)这比其他响应更具可定制性。我已将此标记为答案,谢谢!人们低估了lambda。它比itemgetter
更健壮:假设您想按第一个元素的绝对值排序。或者通过x[0].lower()
,或者通过int(x[0][5:])
:无论如何,您可能会使用lambda
。(另一方面,有时人们认为lambda
有一些用def
定义的函数所缺乏的超能力。我们一直无法弄清楚原因。)@DSM是的,关于lambda
有很多不同的观点,实际上在python 3000中甚至删除了它:)这比其他响应更具可定制性。我已将此标记为答案,谢谢!