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

首頁 > 編程 > Python > 正文

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

2020-01-04 15:37:14
字體:
來源:轉載
供稿:網友

本文實例講述了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程序設計有所幫助。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 峨山| 忻州市| 都匀市| 海盐县| 翼城县| 乌拉特后旗| 竹北市| 文登市| 湟源县| 安丘市| 诸暨市| 肥乡县| 怀来县| 高台县| 拉萨市| 靖远县| 阿鲁科尔沁旗| 台山市| 南漳县| 浮山县| 皋兰县| 黄石市| 五华县| 澄江县| 红原县| 女性| 兴化市| 赤城县| 达日县| 维西| 玉树县| 荃湾区| 深泽县| 友谊县| 玛纳斯县| 五峰| 正阳县| 通山县| 永善县| 广南县| 石嘴山市|