首页 > 编程语言 > 详细

python 使用zip合并相邻的列表项

时间:2017-06-05 09:25:30      阅读:229      评论:0      收藏:0      [点我收藏+]
1 >>> a = [1, 2, 3, 4, 5, 6]
2 >>> zip(*([iter(a)] * 2))
3 [(1, 2), (3, 4), (5, 6)]

函数形式:

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

切片形式:

1 >>> zip(a[::2], a[1::2])
2 [(1, 2), (3, 4), (5, 6)]
3  
4 >>> zip(a[::3], a[1::3], a[2::3])
5 [(1, 2, 3), (4, 5, 6)]

列表推导式:

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

 

python 使用zip合并相邻的列表项

原文:http://www.cnblogs.com/WhatTTEver/p/6942625.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!