use*_*703 84 python sorting tuples
我有一个类似于下面的元组列表:
("Person 1",10)
("Person 2",8)
("Person 3",12)
("Person 4",20)
Run Code Online (Sandbox Code Playgroud)
我想要产生的是按元组的第二个值按升序排序的列表.所以L [0]应该("Person 2", 8)在排序之后.
我怎样才能做到这一点?使用Python 3.2.2如果有帮助.
Sve*_*ach 170
您可以使用该key参数list.sort():
my_list.sort(key=lambda x: x[1])
Run Code Online (Sandbox Code Playgroud)
或者,稍快一点,
my_list.sort(key=operator.itemgetter(1))
Run Code Online (Sandbox Code Playgroud)
(与任何模块一样,您需要import operator能够使用它.)
如果您使用的是python 3.x,则可以sorted在mylist上应用该函数。 这只是@Sven Marnach上面给出的答案的补充。
# using *sort method*
mylist.sort(lambda x: x[1])
# using *sorted function*
sorted(mylist, key = lambda x: x[1])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
90151 次 |
| 最近记录: |