#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()之后,只在第一次遍歷時返回值。