Python內建函式 54 reversed

2022-03-09 13:39:14 字數 2016 閱讀 4317

英文文件:

reversed(seq

)return a reverse iterator

. seq must be an object which has a__reversed__()method or supports the sequence protocol (the__len__()method and the__getitem__()method with integer arguments starting at0).

說明:

1. 函式功能是反轉乙個序列物件,將其元素從後向前顛倒構建成乙個新的迭代器。

>>> a = reversed(range(10)) #

傳入range物件

>>> a #

型別變成迭代器

>>>list(a)

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

>>> a = ['

a','

b','

c','d'

]>>>a['

a', '

b', '

c', 'd'

]>>> reversed(a) #

傳入列表物件

>>> b =reversed(a)

>>> b #

型別變成迭代器

>>>list(b)['

d', '

c', '

b', '

a']

2. 如果引數不是乙個序列物件,則其必須定義乙個__reversed__方法。

#

型別student沒有定義__reversed__方法

>>> class

student:

def__init__(self,name,*args):

self.name =name

self.scores =

for value in

args:

>>> a = student('

bob',78,85,93,96)

>>> reversed(a) #

例項不能反轉

traceback (most recent call last):

file

"", line 1, in

reversed(a)

typeerror: argument to reversed() must be a sequence

>>> type(a.scores) #

列表型別

'list

'>

#重新定義型別,並為其定義__reversed__方法

>>> class

student:

def__init__(self,name,*args):

self.name =name

self.scores =

for value in

args:

def__reversed__

(self):

self.scores =reversed(self.scores)

>>> a = student('

bob',78,85,93,96)

>>> a.scores #

列表型別

[78, 85, 93, 96]

>>>type(a.scores)

'list

'>

>>> reversed(a) #

例項變得可以反轉

>>> a.scores #

反轉後型別變成迭代器

>>>type(a.scores)

'list_reverseiterator

'>

>>>list(a.scores)

[96, 93, 85, 78]

Python內建函式 54 callable

英文文件 callable object returntrueif not.if this returns true,it is still possible that a call fails,but if it is false,calling object will never succeed...

python重寫內建函式 python 內建函式

說明 zip 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 號操作符,可以將元組解壓為列表。語法 zip iterable1,iterable2,引數 iterable 乙個或多...

python內建函式簡稱 Python內建函式詳解

此文參考python文件,然後結合自己的理解,寫下來,一方面方便自己,讓自己好好學習,順便回憶回憶 另一方面,讓喜歡的盆友也參考一下。經查詢,3.6版本總共有68個內建函式,主要分類如下 數 算 7個 型別轉換 24個 序列操作 8個 物件操作 9個 反射操作 8個 變數操作 2個 互動操作 2個 ...