如何使用迭代重复在 Python 中压缩不同大小的列表?

Barbara Streisand
发布: 2024-10-28 09:27:02
原创
999 人浏览过

How to Zip Differently Sized Lists in Python Using Iteration Repetition?

通过迭代重复压缩不同大小的列表

处理不同长度的列表时,将它们压缩在一起可能会带来挑战。 Python 中默认的 zip() 函数将较短列表中的元素与较长列表中的元素配对,而较长列表中的其余元素则不配对。为了解决这个限制,我们可以利用迭代重复的力量。

使用 itertools.cycle 进行无缝重复

重复较短列表的一种有效方法是利用 itertools.cycle 函数。该函数创建一个迭代器,即使在耗尽之后,它也会无限地循环遍历可迭代的元素。通过将循环合并到我们的压缩操作中,我们可以确保较短的列表不断重复,直到较长的列表被完全覆盖。

代码实现

利用 itertools.cycle 压缩不同大小的列表非常简单。以下代码片段演示了其实现:

<code class="python">import itertools

A = [1, 2, 3, 4, 5, 6, 7, 8, 9]
B = ["A", "B", "C"]

from itertools import cycle
zip_list = zip(A, cycle(B)) if len(A) > len(B) else zip(cycle(A), B)

for item in zip_list:
    print(item)</code>
登录后复制

输出细分

执行提供的代码会产生以下输出:

(1, 'A')
(2, 'B')
(3, 'C')
(4, 'A')
(5, 'B')
(6, 'C')
(7, 'A')
(8, 'B')
(9, 'C')
登录后复制

正如我们所观察到的,较短的输出列表 B 会重复自身,直到较长列表 A 中的所有元素都配对为止。这种无缝重复确保没有元素不配对,从而使我们能够在整个列表上执行操作而不会丢失任何数据。

以上是如何使用迭代重复在 Python 中压缩不同大小的列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!