国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python使用zip合并相鄰列表項的方法示例

2020-02-22 23:29:44
字體:
來源:轉載
供稿:網友

本文實例講述了Python使用zip合并相鄰列表項的方法。分享給大家供大家參考,具體如下:

1》使用zip()函數和iter()函數,來合并相鄰的列表項

>>> x[1, 2, 3, 4, 5, 6, 7, 8, 9]>>> zip(*[iter(x)]*2)[(1, 2), (3, 4), (5, 6), (7, 8)]>>> zip(*[iter(x)]*3)[(1, 2, 3), (4, 5, 6), (7, 8, 9)]>>> zip(*[iter(x)]*4)[(1, 2, 3, 4), (5, 6, 7, 8)]

之所以會出現上述結果,是因為:

>>> [iter(x)]*3[<listiterator object at 0x02F4D790>, <listiterator object at0x02F4D790>, <listiterator object at 0x02F4D790>]

可以看到,列表中的3個迭代器實際上是同一個迭代器!!!

2》   在1》的基礎上,封裝成一個函數,如下:

>>> x[1, 2, 3, 4, 5, 6, 7, 8, 9]>>> group_adjacent = lambda a, k: zip(*([iter(a)] * k))>>> group_adjacent(x,3)[(1, 2, 3), (4, 5, 6), (7, 8, 9)]>>> group_adjacent(x,2)[(1, 2), (3, 4), (5, 6), (7, 8)]>>> group_adjacent(x,1)[(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)]

3》使用zip()函數和切片操作,來合并相鄰的表項

>>> x[1, 2, 3, 4, 5, 6, 7, 8, 9]>>> zip(x[::2],x[1::2])[(1, 2), (3, 4), (5, 6), (7, 8)]>>> zip(x[0::2],x[1::2])[(1, 2), (3, 4), (5, 6), (7, 8)]>>> zip(x[0::3],x[1::3],x[2::3])[(1, 2, 3), (4, 5, 6), (7, 8, 9)]>>> zip(x[::3],x[1::3],x[2::3])[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

4》  在3》的基礎上,封裝成函數,如下:

>>> x[1, 2, 3, 4, 5, 6, 7, 8, 9]>>> group_adjacent = lambda a, k: zip(*[a[i::k] for i in range(k)])>>> group_adjacent(x,3)[(1, 2, 3), (4, 5, 6), (7, 8, 9)]>>> group_adjacent(x,2)[(1, 2), (3, 4), (5, 6), (7, 8)]>>> group_adjacent(x,1)[(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)]

參考文章:

python zip()函數//www.jb51.net/article/136589.htm

python iter()函數//www.jb51.net/article/136587.htm

python lambda函數基礎//www.jb51.net/article/136557.htm

python切片操作//www.jb51.net/article/136553.htm

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python函數使用技巧總結》、《Python數據結構與算法教程》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泗阳县| 莱西市| 会东县| 筠连县| 当雄县| 扶余县| 宁陵县| 托克逊县| 日土县| 叙永县| 瑞安市| 澄江县| 裕民县| 阳高县| 手游| 屯门区| 永登县| 富川| 丁青县| 商都县| 南川市| 乌拉特中旗| 江达县| 天台县| 同德县| 德清县| 拜城县| 周宁县| 大厂| 徐汇区| 布拖县| 治多县| 灵川县| 华容县| 漯河市| 清水河县| 安龙县| 如皋市| 天台县| 芮城县| 福安市|