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