Python分割列表list方法使用(平均n等份拆成)
1. 介紹
在日常開發(fā)中,有時候需要把一個大列表分割為固定的小列表,再進行相關(guān)處理。下面來看看詳細的分割方法:
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.2.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 改進方法
改進:用列表推導(dǎo),結(jié)果都放到一個列表。
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]: 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) # 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】http://www.dbjr.com.cn/article/113149.htm
到此這篇關(guān)于Python分割列表list方法使用(平均n等份拆成)的文章就介紹到這了,更多相關(guān)Python分割列表list內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 輸入一個數(shù)n,求n個數(shù)求乘或求和的實例
今天小編就為大家分享一篇python 輸入一個數(shù)n,求n個數(shù)求乘或求和的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11arcgis使用Python腳本進行批量截圖功能實現(xiàn)
最近公司數(shù)據(jù)部那邊有個需求,需要結(jié)合矢量數(shù)據(jù)和影像數(shù)據(jù),進行批量截圖,并且截圖中只能有一個圖斑,還要添加上相應(yīng)的水印,這篇文章主要介紹了arcgis使用Python腳本進行批量截圖,需要的朋友可以參考下2023-01-01python自定義函數(shù)def的應(yīng)用詳解
這篇文章主要介紹了python自定義函數(shù)def的應(yīng)用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06