如何压缩具有重复值的不同大小的列表
处理不等长列表时,内置的 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中文网其他相关文章!