Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 基于列表中的相同值对列表进行排序_Python_Python 3.x_List_Sorting - Fatal编程技术网

Python 基于列表中的相同值对列表进行排序

Python 基于列表中的相同值对列表进行排序,python,python-3.x,list,sorting,Python,Python 3.x,List,Sorting,(使用Python 3) 我想按较小列表中的值和字符串对列表进行排序,并按如下方式打印: (这只是我尝试做的一个简化示例) a 4 a 3 b 3 C3 a 2 b 2 C2 d 2 a 1 b 1 C1 d 1 在我的代码中,我使用了 my_list=sorted(mylist,key=itemgetter(1),reverse=True) 并且得到了类似于 [[a',4],'c',3],'b',3],'a',3],'d',2],'c',2],'b',2],'a',2],'d',1],'c'

(使用Python 3)

我想按较小列表中的值和字符串对列表进行排序,并按如下方式打印:

(这只是我尝试做的一个简化示例)

a 4
a 3
b 3
C3
a 2
b 2
C2
d 2
a 1
b 1
C1
d 1

在我的代码中,我使用了

my_list=sorted(mylist,key=itemgetter(1),reverse=True)

并且得到了类似于

[[a',4],'c',3],'b',3],'a',3],'d',2],'c',2],'b',2],'a',2],'d',1],'c',1],'b',1],'a',1]

正如你所看到的,我的值正在减少,就像我想要的那样。但是,较小列表中具有相同值的字符串按反字母顺序排列


有什么建议吗?

Python使用了一种稳定的排序,因此对于领带,项目将按照它们出现的相同顺序显示。您可以对多个键进行排序,但这将反转这两个键的排序:

my_list = sorted(mylist, key=itemgetter(1, 0), reverse=True)
或者进行两次排序,因为您只需要反转其中一种排序:

my_list = sorted(sorted(my_list, key=itemgetter(0)), key=itemgetter(1), reverse=True)

哦,我没看到你不想让字母倒转,你可以加倍排序