Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Sorting_Selection - Fatal编程技术网

Python 在嵌套列表中的特定索引中实现选择排序

Python 在嵌套列表中的特定索引中实现选择排序,python,list,sorting,selection,Python,List,Sorting,Selection,我能够为列表的每个第一个值实现选择排序,例如list[0][0],list[1][0],list[2][0],list[3][0] 我想实现一个排序,以便它通过每个列表的第二个值进行排序,例如,list[0][1],list[1][1],list[2][1],list[3][1] 这是我的清单: [[130, 266.07], [46, 174.14], [169, 187.01], [179, 488.69], [53, 401.53], [128, 106.88], [97, 398.33]

我能够为列表的每个第一个值实现选择排序,例如
list[0][0]
list[1][0]
list[2][0]
list[3][0]

我想实现一个排序,以便它通过每个列表的第二个值进行排序,例如,
list[0][1],list[1][1],list[2][1],list[3][1]

这是我的清单:

[[130, 266.07], [46, 174.14], [169, 187.01], [179, 488.69], [53, 401.53], [128, 106.88], [97, 398.33], [152, 493.87], [20, 205.43], [94, 248.14]]
排序时将如下所示:

[[20, 205.43], [46, 174.14], [53, 401.53], [94, 248.14], [97, 398.33], [128, 106.88], [130, 266.07], [152, 493.87], [169, 187.01], [179, 488.69]]
我希望它对列表的第二个值进行排序。我应该如何更改代码来实现这一点?感谢您的帮助

这是我的排序算法:

def swapElements(myList,i,j):
   temp = myList[i]
   myList[i] = myList[j]
   myList[j] = temp

def getMinIndex(list,start,stop):

        minIndex = start
        for j in range(start,stop):
            if list[j]<list[minIndex]:
                minIndex = j

        return minIndex

def selectionSort(list):

    for i in range(len(list)):

        minIndex = getMinIndex(list,i,len(list))

        swapElements(list, i, minIndex)
    print(list)

def SelectionSortPrice(list):
    selectionSort(list)
  #printList(list) ##part of a different function to format the list, irrelevant

SelectionSortPrice(x)
def交换元件(myList,i,j):
temp=myList[i]
myList[i]=myList[j]
myList[j]=温度
def getMinIndex(列表、开始、停止):
minIndex=开始
对于范围内的j(启动、停止):

如果list[j],则不清楚排序列表的示例是否已实际排序。为什么希望205.43在174.14和401.53之前排序?可以看到每个列表的第一个值都已排序,如20,46,53,94等。我希望对每个列表的第二个值进行排序,使其为106.88174.14187.01???是的,他说他想按列表的第二个值排序。。。要获得原始输出(即按第一个值排序):sorted(listo,key=lambda num:num[0]),请在回答中提及此细节!
sorted(yourlist, key= lambda num: num[1])