WordPress网站建设宣传图片

Python for 循环列表每次取值指定个数元素

释放双眼,带上耳机,听听看~!

Python中的for循环是我们非常经常使用的语句,for 循环用于迭代序列(即列表,元组,字典,集合或字符串),会将序列里面的值依次取出,有些时候我们需要循序一次取值多个元素就不行了,所以这篇文章来分享下Python for 循环每次从列表中取指定个数元素方法:我们可以使用range() 函数获取列表长度然后指定步长配合列表索引取值的方式来实现,下面是示例代码:

示例代码

range() 函数简介

Python3 range() 函数返回的是一个可迭代对象(类型是对象),不是列表类型, 所以打印的时候不会打印列表。

如果需要把 range() 返回的可迭代对象转为一个列表,则可以使用 list() 函数,Python3 list() 函数是对象迭代器,返回的变量类型为列表。

Python2 range() 函数返回的是列表

函数语法

range(stop)
range(start, stop[, step])

参数说明

  • start: 计数从 start 开始。默认是从 0 开始。例如 range(5) 等价于 range(0, 5)
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是 [0, 1, 2, 3, 4] 没有 5
  • step:步长,默认为 1。例如:range(0, 5) 等价于 range(0, 5, 1)

实现思路

使用range函数根据取值列表的长度生成一个序列,序列的起始值为0,结束值为列表的长度。

然后先确定每次需要取出的元素个数,将这个值设置为循环的步长,作为每次取值的切片索引。

起始索引为range函数生成的值,结束索引的则是起始索引加上步长,这样就可以实现Python for 循环每次从列表中取指定个数元素了。

for 循环列表取指定个数元素示例代码

# -*- coding: utf-8 -*-
num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list_len = len(num_list)
for i in range(0, list_len, 2):
    # print(i)  # 0 2 4 6 8
    print(num_list[i:i + 2])

输出结果

[1, 2]
[3, 4]
[5, 6]
[7, 8]
[9, 10]

封装函数

# -*- coding: utf-8 -*-
def get_elements(lst, step):
    """
    每次从列表中取出指定个数的元素。

    参数:
        lst (list): 输入的列表。
        step (int): 每次需要取出的元素个数。

    返回:
        list: 包含取出元素的新列表。
    """
    result = []
    for i in range(0, len(lst), step):
        result.append(lst[i:i + step])
    return result

调用示例

num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list_step = 3
print(get_elements(num_list, list_step))

输出结果

[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]

Python 列表相关文章

Python enumerate() 函数,Python将列表转换为索引:元素的字典

python sort()函数详解 – python列表排序函数

Python从列表中随机获取元素方法

Python获取两个列表的交集

相关资料

Python3 循环语句 | 菜鸟教程

Python range() 函数 | 菜鸟教程 – (python2.x)

Python3 range() 函数用法 | 菜鸟教程

给TA打赏
共{{data.count}}人
人已打赏
Python RequestsPython与SEOPython爬虫Python笔记

使用Python检查提取网站死链

2024-4-1 21:36:52

Python内置函数Python内置模块Python列表Python笔记

Python for循环同时遍历两个列表

2024-4-8 16:03:01

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
展开目录