开发者

Python分割列表list方法使用(平均n等份拆成)

开发者 https://www.devze.com 2023-03-01 09:22 出处:网络 作者: 笃℃
目录1. 介绍2. 方法2.1 分割大列表为1个元素的小列表2.2 分割大列表为3个元素的小列表2.3 平均n等份3. 参考1. 介绍
目录
  • 1. 介绍
  • 2. 方法
    • 2.1 分割大列表为1个元素的小列表
    • 2.2 分割大列表为3个元素的小列表
    • 2.3 平均n等份
  • 3. 参考

    1. 介绍

    在日常开发中,有时候需要把一个大列表分割为固定的小列表,再进行相关处理。下面来看看详细的分割方法:

    2. 方法

    2.1 分割大列表为1个元素的小列表

    >>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 开发者_开发教程9]
    >>> r = [[x] for x in a]
    >>> r
    [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]

    2.2 分割大列表为3个元素的小列表

    2.2http://www.devze.com.1 普编程客栈通方法

    In [17]: lst
    Out[18]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    In [18]: for i in range(0,len(lst),3): print(lst[i:i+3])
    [0, 1, 2]
    [3, 4, 5]
    [6, 7, 8]
    [9]

    2.2.2 改进方法

    改进:用列表推导,结果都放到一个列表。

    In [35]: lst
    Out[35]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    In [36]: b = [lst[i:i+3] for i in range(0,len(lst),3)]
    In [37]: b
    Out[37]: [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]

    2.2.3 lambda方法

    In [10]: f = lambda a:map(lambda b:a[b:b+3],range(0,len(a),3))
    In [11]:android lst
    Out[11]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    In [12]: f(lst)
    Out[12]: [[0, 1, 2], [3, 4, 5], [6, 7,编程 8], [9]]

    2.3 平均n等份

    >>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> l = len(a) python   # a 的长度
    >>> l
    10
    >>> n = 5    # 平均 5 等份
    >>> step = int(l/n)    # 步长
    >>> step
    2
    >>> b = [a[i:i+step] for i in range(0, l, step)]
    >>> b
    [[0, 1], [2, 3], [4, 5], [6, 7], [8, 9]]
    

    3. 参考

    【1】https://www.jb51.net/article/113149.htm

    到此这篇关于python分割列表list方法使用(平均n等份拆成)的文章就介绍到这了,更多相关Python分割列表list内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号