可能重复:
如何对列表/元组进行排序(列表/元组)?
我有一个元组列表,我想按元组中的第二个值按数字顺序排序.我正在使用的列表示例是:
[('H2O', '6'), ('O2', '4')]
Run Code Online (Sandbox Code Playgroud)
所以在这种情况下我想要的是:
[('O2','4'),('H2O',6')]
Run Code Online (Sandbox Code Playgroud)
我知道这是非常基本的,我似乎可以解决它.
使用key参数sort:
mylist.sort(key = lambda x: int(x[1]))
Run Code Online (Sandbox Code Playgroud)
这会将元组中的第二个元素转换为整数,并按这些整数排序.
由于元组在第二个元素中包含数字,因此将数字存储在元组中而不是字符串更有意义.如果您这样做,您可以使用以下方式排序:
import operator
mylist.sort(key = operator.itemgetter(1))
Run Code Online (Sandbox Code Playgroud)