首页  >  文章  >  后端开发  >  如何在 Python 中压缩具有重复值的不等长度列表?

如何在 Python 中压缩具有重复值的不等长度列表?

Patricia Arquette
Patricia Arquette原创
2024-10-27 04:24:02572浏览

How to Zip Lists of Unequal Lengths with Repeating Values in Python?

如何压缩具有重复值的不同大小的列表

处理不等长列表时,内置的 zip() 函数可能会让你少花钱。最初的问题寻求一种压缩列表 A 和 B 的方法,即使 B 较短,也可以根据需要重复其值。

虽然使用循环提供的代码可以实现此目的,但使用 itertools 可以提供更简洁的解决方案。循环。此函数返回一个迭代器,该迭代器循环遍历提供的可迭代对象,无限地重复它。

使用 itertools.cycle 的解决方案:

from itertools import cycle

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

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

在这种情况下,如果 A 是比 B 长,zip_list 会将 A 的值与 B 的重复值配对,确保包含所有元素。如果 B 比 A 长,则过程相反。

itertools.cycle 函数提供了一种便捷的方法来实现这种重复配对,使其成为 Python 中处理不同大小列表的有效解决方案。

以上是如何在 Python 中压缩具有重复值的不等长度列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn