一、enumerate() 函數(shù)enumerate()是Python內(nèi)置函數(shù)之一,用于將一個(gè)可迭代對象轉(zhuǎn)換為一個(gè)枚舉對象,可以同時(shí)返回元素的索引和值。該函數(shù)的語法如下: enumerate(iterable, start=0) 其中,iterable是可迭代對象,start是可選參數(shù),表示枚舉對象的起始值,默認(rèn)為0。 enumerate()函數(shù)的返回值是一個(gè)枚舉對象,可以使用list()函數(shù)將其轉(zhuǎn)換為列表類型。 enumerate()函數(shù)的作用有以下幾個(gè)方面:
以下是使用enumerate()函數(shù)的一些示例:
****樣例1**** 這段代碼中的 i 和 item 都是變量,用于在循環(huán)中計(jì)數(shù)和存儲列表中的元素。 具體來說,enumerate() 函數(shù)會返回一個(gè)可迭代對象,其中每個(gè)元素都是一個(gè)元組,包含兩個(gè)值:該元素在列表中的索引和對應(yīng)的元素值。因此,在這個(gè)例子中,for i, item in enumerate(lst): 表示將 lst 列表中的每個(gè)元素都拆分成一個(gè)索引和一個(gè)值的元組,并將它們分別賦值給變量 i 和 item。 在循環(huán)中,可以使用 i 和 item 分別訪問列表中的元素及其索引。例如,如果 lst 列表為 [1, 2, 3],那么在循環(huán)中,i 的值將依次為 0、1、2,而 item 的值將依次為 1、2、3。 ****樣例2、3原理與1相似***** 上述代碼中,第一個(gè)示例演示了如何枚舉列表中的元素,第二個(gè)示例演示了如何枚舉字符串中的字符,第三個(gè)示例演示了如何枚舉文件中的行數(shù)。在這些示例中,enumerate()函數(shù)為可迭代對象添加了一個(gè)計(jì)數(shù)器,方便對元素進(jìn)行索引和編號。 二、dir() 函數(shù)dir()是Python內(nèi)置函數(shù)之一,用于返回一個(gè)對象的所有屬性和方法。它的作用是用于快速了解一個(gè)對象的可調(diào)用方法或?qū)傩裕奖愠绦騿T進(jìn)行編程和調(diào)試。 使用方法: dir([object]) 其中,object是可選的,如果指定了object,則返回該object的所有屬性和方法,如果沒有指定,則返回當(dāng)前作用域內(nèi)的所有屬性和方法。 下面是一些使用dir()函數(shù)的例子:
str_obj = 'hello'print(dir(str_obj)) ****詳解輸出內(nèi)容**** 這個(gè)代碼會輸出一個(gè)包含 str_obj 對象屬性的列表。具體來說,它會輸出以下內(nèi)容:
class MyClass: def __init__(self): self.name = 'myclass' def say_hello(self): print('hello')mc = MyClass()print(dir(mc)) 通過以上例子,我們可以看到dir()函數(shù)可以幫助我們快速查看一個(gè)對象的所有屬性和方法,從而方便我們進(jìn)行編程和調(diào)試。 三、reversed() 函數(shù)reversed()是Python3內(nèi)置函數(shù)之一,用于翻轉(zhuǎn)(反轉(zhuǎn))序列對象。它可以用于列表、元組、字符串等可迭代對象。reversed()函數(shù)返回一個(gè)迭代器,因此需要使用for循環(huán)或者將其轉(zhuǎn)換為列表、元組等可迭代對象來進(jìn)行遍歷。 使用語法如下:
其中,seq為需要翻轉(zhuǎn)的序列對象。 reversed()函數(shù)的作用主要有以下幾個(gè):
下面通過代碼舉例說明reversed()函數(shù)的使用: # 翻轉(zhuǎn)列表lst = [1, 2, 3, 4, 5]lst_reverse = list(reversed(lst))print(lst_reverse) # [5, 4, 3, 2, 1]# 翻轉(zhuǎn)字符串s = 'hello world's_reverse = ''.join(reversed(s))print(s_reverse) # 'dlrow olleh'# 遍歷翻轉(zhuǎn)后的序列對象for i in reversed(range(1, 6)): print(i)# 輸出:5 4 3 2 1 以上代碼中,首先使用reversed()函數(shù)翻轉(zhuǎn)了列表lst和字符串s,分別得到了lstreverse和sreverse兩個(gè)新的序列對象。然后,使用for循環(huán)結(jié)合reversed()函數(shù)遍歷了翻轉(zhuǎn)后的序列對象。 |
|