① python數據同時排序
Python列表具有內置的 list.sort()方法,可以在原地修改列表。 還有一個 sorted()內置的函數從迭代構建一個新的排序列表。在本文中,我們將探討使用Python排序數據的各種技術。
請注意,sort()原始數據被破壞,sorted()沒有對原始數據進行操作,而是新建了一個新數據。
一、基本的排序
最基本的排序很簡單。只要使用sorted()函數即可返回一個 新的排序的列表
>>>sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5]
咱們也可以使用 list.sort()方法。該方法是對列表list進行的原地操作(原數據被修改,已經不是原來的本來面目)。一般情況下,不如使用 sorted()方便,但是如果你不需要原列表list,使用 sort()會更具效率。
>>>a = [5, 2, 3, 1, 4]
>>>a.sort()
>>>a #a發生改變
[1, 2, 3, 4, 5]
另一個不同點, list.sort()方法只能應用於列表對象數據。而 sorted()卻可以對任何可迭代對象進行排序。也就是說sorted()更具有普遍使用性。這里大燈建議初學者使用sorted()。
二、Key參數函數
list.sort()和 sorted()都有key參數,可以指定函數來對元素進行排序。
例如,這里我們使用一個字元串(字元串也是可迭代對象)
>>>sorted("This is a test string from Andrew".split(), key=str.lower)
② python對列表裡的元素進行排序
l=['e','d','c','b','a']
l.sort()
print(l)
e=list(enumerate(l))
print(e)
③ python中怎麼、樣對list元素排序
list中的元素可以是各種類型,list有一個方法list.sort(),假如是同一種類型用sort沒有問題,假如類型不同,書上說了,不是同一類型排序有什麼意義。
④ 怎樣用python將數組里的數從高到低排序
1、首先我們定義一個列表輸入一串大小不一的數字。
⑤ Python 怎麼對列表中元素排序
排序方法有兩個。
sort()
用法:list.sort()。直接對list操作排序。
sorted()
用法:sorted(list)。有返回值,返回排序後的列表
⑥ 如何對python編程中的列表元素按成績高低進行排序呢
最簡單的辦法就是需要指定列表排序方法中的參數「key」。代碼如下:
第一種:
stu=[['john',79],['mame',96],['herry',85],['lili',95],['ziling',63]]
def takeSecond(elem):
return elem[1]
stu.sort(key=takeSecond,,reverse=True)
print(stu)
第二種:
stu=[['john',79],['mame',96],['herry',85],['lili',95],['ziling',63]]
s=sorted(stu,key=lambda student: student[1],,reverse=True)
print(s)
⑦ Python中列表的方法有什麼
Python中的列表內建了許多方法。在下文中,使用「L」代表一個列表,使用「x」代表方法的參數,以便說明列表的使用方法。
1 append()方法
列表的append()方法用於將一個項添加到列表的末尾,L.append(x)等價於L[len(L):] = [x]。
例如,使用append()方法分別將'cow'和'elephant'添加到animals列表的末尾:
>>>animals=['cat','dog','fish','dog']
>>>animals.append('cow')#等價於animals[4:]=['cow']
>>>animals
['cat','dog','fish','dog','cow']
>>>animals.append('elephant')#等價於animals[5:]=['elephant']
>>>animals
['cat','dog','fish','dog','cow','elephant']
2 ()方法
列表的()方法用於將一個項插入指定索引的前一個位置。L.(0, x)是將x插入列表的最前面,L.(len(L)), x)等價於L.append(x)。
例如,使用()方法分別將'cow'和'elephant'插入animals列表:
>>>animals=['cat','dog','fish','dog']
>>>animals.(0,'cow')
>>>animals
['cow','cat','dog','fish','dog']
>>>animals.(3,'elephant')
>>>animals
['cow','cat','dog','elephant','fish','dog']
3 extend()方法
列表的extend()方法用於將可迭代對象的所有項追加到列表中。L.extend(iterable)等價於L[len(L):] = iterable。extend()和append()方法的區別是,extend()方法會將可迭代對象「展開」。
例如,分別使用append()方法和extend()方法在animals列表後面追加一個包含'cow'和'elephant'的列表:
>>>animals=['cat','dog','fish','dog']
>>>animals.append(['cow','elephant'])#此處append()參數是一個列表
>>>animals
['cat','dog','fish','dog',['cow','elephant']]
>>>animals=['cat','dog','fish','dog']
>>>animals.extend(['cow','elephant'])#此處extend()參數也是一個列表
>>>animals
['cat','dog','fish','dog','cow','elephant']
4 remove()方法
列表的remove()方法用於移除列表中指定值的項。L.remove(x)移除列表中第一個值為x的項。如果沒有值為x的項,那麼會拋出ValueError異常。
例如,使用remove()方法移除animals列表中值為'dog'的項:
>>>animals=['cat','dog','fish','dog']
>>>animals.remove('dog')
>>>animals
['cat','fish','dog']
>>>animals.remove('dog')
>>>animals
['cat','fish']
>>>animals.remove('dog')
Traceback(mostrecentcalllast):
File"",line1,in
ValueError:list.remove(x):xnotinlist
5 pop()方法
列表的pop()方法用於移除列表中指定位置的項,並返回它。如果沒有指定位置,那麼L.pop()移除並返回列表的最後一項。
例如,使用pop()方法移除animals列表中指定位置的項:
>>>animals=['cat','dog','fish','dog']
>>>animals.pop()
'dog'
>>>animals
['cat','dog','fish']
>>>animals.pop(2)
'fish'
>>>animals
['cat','dog']
在調用前面的列表方法後,並沒有列印任何值,而pop()方法列印了「彈出」的值。包括append()、()、pop()在內的方法都是「原地操作」。原地操作(又稱為就地操作)的方法只是修改了列表本身,並不返回修改後的列表。
在類型轉換時使用的int()函數,str()函數都有返回值:
>>>number=123
>>>mystring=str(number)#將返回值賦給變數mystring
>>>mystring
'123'
但是在使用「原地操作」時,大部分則不會有返回值,包括pop()方法也只是返回了被「彈出」的值,並沒有返回修改後的列表:
>>>animals=['cat','dog','fish','dog']
>>>new_animals=animals.append('cow')
>>>print(new_animals)
None
關於Python的基礎問題可以看下這個網頁的視頻教程,網頁鏈接,希望我的回答能幫到你。
⑧ python列表排序方法
列表的sort方法就是用來進行排序的。
主要就是兩個參數,key,reverse
先說reverse,這個很簡單,就是指出是否進行倒序排序:一般情況下,1排在2的前面,而倒序則相反。
key參數:一般它是一個函數,它接受列表中每一個元素,返回一個可用用於比較的值。
s=[1,2,3,4,5]
s.sort(key=lambda _: _**2%7)
print(s)
輸出的是:[1, 3, 4, 2, 5]
如果看不懂lambda表達式,可以看這一段等價的寫法:
def myfn(x):
....return (x * x) % 7
s=[1,2,3,4,5]
s.sort(key=myfn)
print(s)
輸出的結果是一樣的。
key使用的函數可以是自定義函數也可以pytho內置的函數,或者是某個類或者實例的方法,只要它能接受一個參數,返回一個可比較的值即可。比如這樣:
s=[[1,2,4],[3,3,5],[1,1,1],[5,7,9]]
s.sort(key=max) # 直接使用max函數作為排序依據
print(s)
[[1, 1, 1], [1, 2, 4], [3, 3, 5], [5, 7, 9]]
⑨ Python中,如何給列表排序
Python中給列表排序的方式有很多,可以自己實現,也可以用Python提供的方法
使用Python提供的方法:
列表.sort()
列表.sort(reverse=True)
自己實現:
num_list = [64, 34, 25, 12, 22, 11, 90]
print(num_list)
n = len(num_list)
# 遍歷所有數組元素
for i in range(n):
for j in range(0, n - i - 1):
if num_list[j] > num_list[j + 1]:
num_list[j], num_list[j + 1] = num_list[j + 1], num_list[j]
print(num_list)
代碼發到這邊格式有點亂,有需要的話可以去到黑馬程序員社區。有很多計算機技術的基礎入門和高級進階的內容,源碼什麼的也都有。
⑩ python中的list元組如何按照第二維元素排序
在Python中可以使用sorted函數對list進行排序,但是如果排序的對象是一個包含tuple的list時,sorted函數會使用tuple的第一個元素。
如果想要使用tuple的第二個元素進行排序,可以向sorted函數傳入一個key參數,key參數必須是一個函數,輸入是list的一個元素,輸出最好是一個數字或簡單的字元。
構造這樣一個函數可以使用匿名函數lambda,示例代碼如下:
myList=[('ngeon',7),('winterfell',4),('bran',9),('meelo',6)]
printsorted(myList,key=lambdax:x[1])
#[('winterfell',4),('meelo',6),('ngeon',7),('bran',9)]