Python怎么使用zip合并相邻列表项-创新互联
这篇文章主要介绍Python怎么使用zip合并相邻列表项,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
成都创新互联专业网站设计、成都网站制作,集网站策划、网站设计、网站制作于一体,网站seo、网站优化、网站营销、软文发稿等专业人才根据搜索规律编程设计,让网站在运行后,在搜索中有好的表现,专业设计制作为您带来效益的网站!让网站建设为您创造效益。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 [, , ]
可以看到,列表中的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合并相邻列表项”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
网站题目:Python怎么使用zip合并相邻列表项-创新互联
地址分享:http://scyanting.com/article/idshd.html