1. Učit se
  2. /
  3. Kurzy
  4. /
  5. 高效编写 Python 代码

Connected

cvičení

内置练习:enumerate()

在本练习中,您将练习使用 Python 的内置函数 enumerate()。该函数可用于获取带索引的列表。例如,假设您有一个来参加您所举办派对的人员列表。该列表按到达顺序排列(Jerry 最先到达,其次是 Kramer,等等):

names = ['Jerry', 'Kramer', 'Elaine', 'George', 'Newman']

如果您想附加一个表示到达顺序的索引,可以 使用下面的 for 循环:

indexed_names = []
for i in range(len(names)):
    index_name = (i, names[i])
    indexed_names.append(index_name)

[(0,'Jerry'),(1,'Kramer'),(2,'Elaine'),(3,'George'),(4,'Newman')]

不过,这并不是最高效的做法。让我们看看如何使用 enumerate() 来提高效率。

Pokyny

100 XP
  • 将 for i in range(len(names)) 改为使用 enumerate(),并以 i 作为索引变量、name 作为迭代变量来编写 for 循环。
  • 使用 enumerate() 和列表推导式重写上一个 for 循环,创建新列表 indexed_names_comp。
  • 再创建一个列表(indexed_names_unpack),方法是对用 enumerate() 作用于 names 后得到的 enumerate 对象 使用星号(*)进行解包。这一次,将 enumerate() 的起始索引设为 1 而不是 0。