列表有自己的sort方法,其對列表進行原址排序,既然是原址排序,那顯然元組不可能擁有這種方法,因為元組是不可修改的。
排序,數字、字串依照ASCII,中文依照unicode從小到大排序
x = [4, 6, 2, 1, 7, 9] x.sort() print (x) # [1, 2, 4, 6, 7, 9]
如果需要一個排序好的副本,同時保持原有列表不變,怎麼實現呢?
x = [4, 6, 2, 1, 7, 9] y = x[:] y.sort() print(y) # [1, 2, 4, 6, 7, 9] print(x) # [4, 6, 2, 1, 7, 9]
注意:y = x[:] 透過分片運算將列表x的元素全部拷貝給y,如果簡單的把x賦值給y:y = x,y和x還是指向同一個列表,並沒有產生新的副本。
另一種取得已排序的列表副本的方法是使用sorted函數:
x =[4, 6, 2, 1, 7, 9] y = sorted(x) print (y) #[1, 2, 4, 6, 7, 9] print (x) #[4, 6, 2, 1, 7, 9]
sorted傳回有序的副本,並且類型總是列表,如下:
print (sorted('Python')) #['P', 'h', 'n', 'o', 't', 'y']
# 2.有一个list['This','is','a','Boy','!'],所有元素都是字符串,对它进行大小写无关的排序 li=['This','is','a','Boy','!'] l=[i.lower() for i in li] # l1 =l[:] l.sort() # 对原列表进行排序,无返回值 print(l) # print(sorted(l1)) # 有返回值原列表没有变化 # print(l1)
以上是python的sorted怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!