📜  python 从列表中提取每个第 n 个值 - Python (1)

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

Python从列表中提取每个第n个值

在Python中,我们可以使用切片(slice)来提取列表中的部分数据。但是如果我们想要提取每个第n个值时,该怎么办呢?下面我们就来介绍如何针对这种需求进行操作。

方法一:使用循环

可以使用循环遍历列表并通过条件语句来提取需要的值。下面是一个简单的示例代码:

n = 2 # 提取每个第二个值
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = []

for index, value in enumerate(data):
    if (index + 1) % n == 0:
        result.append(value)

print(result) # 输出 [2, 4, 6, 8, 10]

在上述代码中,我们先定义了n为2,表示每个第二个值是需要提取的数据。接着,我们使用for循环来遍历列表,并通过条件语句判断当前遍历到的值是否为需要提取的值,如果是则将其添加到result列表中。最后再通过print函数输出result列表,即可得到提取出的每个第二个值。

方法二:使用切片

除了使用循环外,我们也可以使用切片在列表中提取每个第n个值。下面是一个示例代码:

n = 3 # 提取每个第三个值
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = data[n-1::n]

print(result) # 输出 [3, 6, 9]

在上述代码中,我们先定义了n为3,表示每个第三个值是需要提取的数据。接着,我们使用切片的方式,从第n-1个值开始,每次提取间隔为n的值,并将其添加到result列表中。最后再通过print函数输出result列表,即可得到提取出的每个第三个值。

尽管使用切片的方式代码行数更短,但在某些情况下使用循环会更加灵活。具体使用哪种方式,需要根据实际需求来进行决定。