📌  相关文章
📜  获取列表python中的每个第n个元素(1)

📅  最后修改于: 2023-12-03 15:11:51.176000             🧑  作者: Mango

获取列表Python中的每个第n个元素

在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函数

另一种方法是使用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个元素。根据不同的情况选择合适的方法。