Python分割列表list方法使用(平均n等份拆成)
1. 介紹
在日常開發(fā)中,有時(shí)候需要把一個(gè)大列表分割為固定的小列表,再進(jìn)行相關(guān)處理。下面來看看詳細(xì)的分割方法:
2. 方法
2.1 分割大列表為1個(gè)元素的小列表
>>> 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個(gè)元素的小列表
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 改進(jìn)方法
改進(jìn):用列表推導(dǎo),結(jié)果都放到一個(gè)列表。
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 的長(zhǎng)度 >>> l 10 >>> n = 5 # 平均 5 等份 >>> step = int(l/n) # 步長(zhǎng) >>> 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.dhdzp.com/article/113149.htm
到此這篇關(guān)于Python分割列表list方法使用(平均n等份拆成)的文章就介紹到這了,更多相關(guān)Python分割列表list內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
怎么用Python識(shí)別手勢(shì)數(shù)字
今天給大家?guī)淼奈恼率窃趺从肞ython識(shí)別手勢(shì)數(shù)字,文中有非常詳細(xì)的圖文示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下2021-06-06
Python如何提取csv數(shù)據(jù)并篩選指定條件數(shù)據(jù)詳解
在學(xué)習(xí)python過程中常遇到一種情況,要讀取.csv文件的數(shù)據(jù),然后取出其中某個(gè)字段,下面這篇文章主要給大家介紹了關(guān)于Python如何提取csv數(shù)據(jù)并篩選指定條件數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2022-08-08
運(yùn)籌學(xué)-Python實(shí)現(xiàn)圖論與最短距離
需要求解任意兩個(gè)節(jié)點(diǎn)之間的最短距離,使用?Floyd?算法,只要求解單源最短路徑問題,有負(fù)權(quán)邊時(shí)使用?Bellman-Ford?算法,沒有負(fù)權(quán)邊時(shí)使用?Dijkstra?算法,本節(jié)我們只討論Dijkstra?算法,需要的朋友可以參考一下2022-01-01
Python使用虛擬環(huán)境(安裝下載更新卸載)命令
這篇文章主要為大家介紹了Python使用虛擬環(huán)境(安裝下載更新卸載)命令,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11

