📅  最后修改于: 2023-12-03 15:11:51.176000             🧑  作者: Mango
在Python中,如果你想获取列表中每个第n个元素,有几种不同的方法。
一种方法是使用循环和计数器来访问每个第n个元素。
def get_every_nth_item(lst, n):
result = []
count = 1
for i in lst:
if count % n == 0:
result.append(i)
count += 1
return result
这个函数遍历列表并检查当前计数器的值是否是n的倍数。如果是,它就将该项添加到结果列表中。最后,返回结果列表。
# Example usage
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(get_every_nth_item(my_list, 3)) # 输出[3, 6, 9]
另一种方法是使用zip和range函数来一次迭代列表和索引,以便访问每个第n个元素。
def get_every_nth_item_v2(lst, n):
return [lst[i] for i in range(n-1, len(lst), n)]
这个函数使用列表推导式来一次迭代列表并访问每个第n个元素。 它通过使用range函数来创建索引范围,这些索引在n倍数上标记,在迭代时只考虑选中的索引。
# Example usage
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(get_every_nth_item_v2(my_list, 3)) # 输出[3, 6, 9]
在Python中获取列表中每个第n个元素并不难。你可以使用循环和计数器来访问每个第n个元素,也可以使用zip和range函数来一次迭代列表和索引,以便访问每个第n个元素。根据不同的情况选择合适的方法。