一、emumerate基礎用法
emumerate()是Python中一個內置的函數,用於枚舉一個可遍歷的對象,返回一個枚舉對象。emumerate()函數的語法如下:
enumerate(iterable, start=0)
其中,iterable為要枚舉的對象,start為枚舉對象的起始值,它默認為0。
具體用法可以參考下面代碼:
languages = ['Python', 'Java', 'C++', 'Ruby'] for i, language in enumerate(languages): print(i, language)
上面的代碼會列印出以下結果:
0 Python 1 Java 2 C++ 3 Ruby
其中 i 為對象的索引,language為對象的值。
二、emumerate結合zip使用
zip函數可以將多個可遍歷的對象(例如列表、字元串等)合併成一個元組, 如果多個可迭代對象的長度不同,則返回的元組長度與最短對象相同。我們可以將emumerate和zip結合使用,實現並行遍歷多個對象,具體用法可以參考下面代碼:
numbers = [1, 2, 3] colors = ['red', 'green', 'blue'] for i, (number, color) in enumerate(zip(numbers, colors)): print(i, number, color)
上面的代碼會列印出以下結果:
0 1 red 1 2 green 2 3 blue
其中i為對象的索引,number、color分別表示numbers、colors對象中的值,兩者合併為一個元組。
三、emumerate與字元串拼接
emumerate()函數被廣泛用於字元串拼接,因為字元串是一種可遍歷的對象。下面的代碼演示了如何使用emumerate和字元串拼接將列表中的元素拼成一個句子,並將列表中的最後一個元素加上”and “:
fruits = ['apple', 'banana', 'orange', 'pear'] sentence = '' for i, fruit in enumerate(fruits): if i == 0: sentence += fruit.title() elif i < len(fruits) - 1: sentence += ', ' + fruit else: sentence += ', and ' + fruit print(sentence)
上面的代碼會輸出以下內容:
Apple, banana, orange, and pear
其中,i為遍歷對象fruits的索引,fruit為遍歷對象fruits中的值,最終將fruit拼接成一個句子並輸出。
四、emumerate與字典拼接
emumerate()函數也可以用於字典的遍歷,具體方式是取出字典的所有鍵和值,然後遍歷鍵和值,例如下面的代碼演示了如何使用emumerate通過字典鍵值拼接一個字元串:
student = {'name': 'Bob', 'age': 20, 'gender': 'male'} string = '' for i, (key, value) in enumerate(student.items()): if i == 0: string += key.title() + ': ' + str(value) else: string += ', ' + key.title() + ': ' + str(value) print(string)
上面的代碼會輸出以下內容:
Name: Bob, Age: 20, Gender: male
其中,i為遍歷對象student的索引,key和value分別是字典中的鍵和值,最終將其拼接成一個字元串並輸出。
五、結合列表推導式
我們還可以使用列表推導式和emumerate函數來創建新的列表。下面的代碼演示了如何使用emumerate()函數和列表推導式將一個列表中的元素同時加上其索引值:
numbers = [1, 2, 3] new_numbers = [i + number for i, number in enumerate(numbers)] print(new_numbers)
上面的代碼會輸出以下結果:
[1, 3, 5]
其中,i為遍歷對象numbers的索引,number為numbers中的值,最終將其拼接為一個新的列表並輸出。
六、結合元組推導式
除了列表推導式,我們還可以使用元組推導式和emumerate函數來創建新的元組。下面的代碼演示了如何使用emumerate()函數和元組推導式將一個列表中的元素同時加上其索引值:
fruits = ['apple', 'banana', 'orange'] new_fruits = tuple((i, fruit) for i, fruit in enumerate(fruits)) print(new_fruits)
上面的代碼會輸出以下結果:
(0, 'apple'), (1, 'banana'), (2, 'orange')
其中,i為遍歷對象fruits的索引,fruit為fruits中的值,最終將其拼接為一個新的元組並輸出。
七、結合集合推導式
emumerate函數也可以結合集合推導式來創建新的集合。下面的代碼演示了如何使用emumerate函數和集合推導式將列表中的元素同時加上其索引值:
colors = ['red', 'green', 'blue', 'red'] new_colors = {i + color for i, color in enumerate(colors)} print(new_colors)
上面的代碼會輸出以下結果:
{'red0', 'red1', 'blue2', 'green1'}
其中,i為遍歷對象colors的索引,color為colors中的值,最終將其拼接為一個新的集合併輸出。
原創文章,作者:PNQUL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/370481.html