Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 如何在python中对每个索引值有两个数字的列表进行排序?_Python 2.7_Sorting - Fatal编程技术网

Python 2.7 如何在python中对每个索引值有两个数字的列表进行排序?

Python 2.7 如何在python中对每个索引值有两个数字的列表进行排序?,python-2.7,sorting,Python 2.7,Sorting,我的代码 b=[((1,1)),((1,2)),((2,1)),((2,2)),((1,3))] 对于范围内的i(len(b)): 打印b[i] 获得的输出: (1,1) (1,2) (2,1) (2,2) (1,3) 如何按每个索引值中的第一个元素或/和第二个元素对该列表进行排序,以获得如下输出: (1,1) (1,2) (1,3) (2,1) (2,2) 或 (1,1) (2,1) (1,2) (2,2) (1,3) 如果两个列都按照所需输出中的显示进行排序,那就太好了,但是如果对其中任何

我的代码

b=[((1,1)),((1,2)),((2,1)),((2,2)),((1,3))]
对于范围内的i(len(b)):
打印b[i]
获得的输出:
(1,1)
(1,2)
(2,1)
(2,2)
(1,3)

如何按每个索引值中的第一个元素或/和第二个元素对该列表进行排序,以获得如下输出:
(1,1)
(1,2)
(1,3)
(2,1)
(2,2)

(1,1)
(2,1)
(1,2)
(2,2)
(1,3)


如果两个列都按照所需输出中的显示进行排序,那就太好了,但是如果对其中任何一个输出列进行排序,它就足够了。

尝试以下操作:
b=sorted(b,key=lambda i:(i[0],i[1])
排序的
内置程序会这样做

>>> sorted (b)
[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2)]
这只按第一个元素排序,按第二个元素排序

>>> sorted(b, key=lambda i: i[1])
[(1, 1), (2, 1), (1, 2), (2, 2), (1, 3)]
还要注意Python不允许这个嵌套元组;paren中的paren被简化为一个paren

>>> b=[((1,1)),((1,2)),((2,1)),((2,2)),((1,3))]
>>> b
[(1, 1), (1, 2), (2, 1), (2, 2), (1, 3)]