1. 程式人生 > >python中sorted和.sorted 、reversed和reverse的使用

python中sorted和.sorted 、reversed和reverse的使用

訪問 seq bject soft time mes lse new 一個

#encoding = utf-8 
list = [1,8,3,6]
print(list.sort()) #None
print(list)#[1,3,6,8]
print(sorted(list))#[1, 3, 6, 8]
print(sorted(list,reverse=True))#[8, 6, 3, 1]
print(list)#[1,3,6,8]

由以上總結,list.sort()是對原始的List進行操作,調用後原始的list會改變,沒有返回值。並且sort()只能對list操作。
sorted(iterable, key=None, reverse=False) –> new sorted list 適用於任何可叠代容器,調用後返回的是已經
排好序的iterable,不改變原始的iterabel。
因為對於字符串、列表、元組來說都可以用a[::-1]來取反,要註意a[::-1]返回的是一個逆轉的列表、字符串、元組。並不是對a的原地修改
list1 = [1,2,4,23,2]
print(list1.reverse())#None reversed()函數是返回序列seq的反向訪問的叠代子。參數可以是列表,元組,字符串,不改變原對象。
rever = reversed(list1)
print(rever) #<list_reverseiterator object at 0x00000080312EB978>返回的是叠代器對象
for i in rever: #需要遍歷輸出各個元素
  print(i)
總結:reverse()是
列表的內置方法,無參數,無返回值,reverse()會改變列表(原地反轉),因此無需返回值。字典、
元組、字符串不具有reverse()方法,如果調用將會返回一個異常。reversed()函數是返回序列seq的反向訪問的叠代子。
參數可以是列表,元組,字符串,不改變原對象。
註意:reversed()之後,只在第一次遍歷時返回值。

python中sorted和.sorted 、reversed和reverse的使用