python中sorted和.sorted 、reversed和reverse的注意點


L=[1,2,3,4]
l1=[123,123,23]
if l1.sort() == L.reverse():   #這個判斷式是恆等的,因為兩個函數的返回值都是None(其實是無返回值)
    print(1)

------------------------------------------------------------

a.sort()是對列表a進行原地修改,而且只能修改列表

而sorted(a)對字符串、列表、元組都能排序,該函數返回一個排序好的列表(都是列表!!)

------------------------------------------------------------

個人感覺reverse沒什么diao用、當然原地修改還是要用reverse()的

因為對於字符串、列表、元組來說都可以用a[::-1]來取反

要注意a[::-1]返回的是一個逆轉的列表、字符串、元組。並不是對a的原地修改

還有一種方法就是用.sort(reverse=1)來取反

-------------------------------------------------------------

.reverse()無返回值

使用reversed()返回一個迭代器(迭代器的意思是只能通過循環來輸出)
a = '321'
b = reversed(a)
print(b)

>>> <reversed object at 0x02E2B090>

顯示的是返回了一個迭代器

迭代器用循環輸出

for i in b:

  print(i,end =' ')

>>> 1  2 3

為什么會和sorted不同呢

------------------------------------------------------------

用for i in reversed(a):

  print(i)

發現數據輸出豎着輸出

改一個參數print(i,end=' ')將末尾的換行符\n換成‘ ’這樣就不會自動換行了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM