Python,使用 enumerate() 函數:獲取列表的元素和索引

商業

使用 Python 的 enumerate() 函數,您可以在 for 循環中獲取索引號(計數、順序)以及可迭代對象(例如列表或元組)的元素。

本文解釋了 enumerate() 函數的基礎知識。

  • 在for循環中獲取索引的函數:enumerate()
    • 普通 for 循環
    • 使用 enumerate() 函數的 For 循環
  • 從 1(非零值)開始 enumerate() 函數的索引
  • 指定增量(步)

enumerate() 函數可用於獲取 for 循環中的索引。

普通 for 循環

l = ['Alice', 'Bob', 'Charlie']

for name in l:
    print(name)
# Alice
# Bob
# Charlie

使用 enumerate() 函數的 For 循環

指定一個可迭代對象(例如列表)作為 enumerate() 函數的參數。

您可以按該順序獲取索引號和元素。

for i, name in enumerate(l):
    print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie

從 1(非零值)開始 enumerate() 函數的索引

如上例所示,默認情況下,enumerate() 函數的索引從 0 開始。

如果要以 0 以外的數字開頭,請指定任意起始數字作為 enumerate() 函數的第二個參數。

要從頭開始,請執行以下操作。

for i, name in enumerate(l, 1):
    print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie

當然,您可以從其他數字開始。

for i, name in enumerate(l, 42):
    print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie

當您要創建按順序編號的字符串時很有用;將起始編號指定為 enumerate() 函數的第二個參數比使用“i+1”從 1 開始更聰明。

for i, name in enumerate(l, 1):
    print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie

有關 format 函數的更多信息,請參閱以下文章,該函數用於用零填充數字。

指定增量(步)

enumerate() 函數中沒有參數指定增量步長,但可以通過以下方式實現

step = 3
for i, name in enumerate(l):
    print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie
Copied title and URL