在某些情况下,我们需要重复列表中的值。值的这种重复可以通过以下方式在python中实现。
这是一种简单的方法,其中选择每个元素,通过内部for循环创建其重复项,然后将它们都传递给外部for循环。
# Given list listA = ['Mon', 'Tue', 9, 3, 3] print("Given list : ",listA) # Adding another element for each element Newlist = [i for i in listA for n in (0, 1)] # Result print("New list after duplication: ",Newlist)
输出结果
运行上面的代码给我们以下结果-
Given list : ['Mon', 'Tue', 9, 3, 3] New list after duplication: ['Mon', 'Mon', 'Tue', 'Tue', 9, 9, 3, 3, 3, 3]
itertools模块处理可迭代对象中的数据操作。在这里我们应用chain.from_iterables其中
import itertools # Given list listA = ['Mon', 'Tue', 9, 3, 3] print("Given list : ",listA) # Adding another element for each element Newlist = list(itertools.chain.from_iterable([n, n] for n in listA)) # Result print("New list after duplication: ",Newlist)
输出结果
运行上面的代码给我们以下结果-
Given list : ['Mon', 'Tue', 9, 3, 3] New list after duplication: ['Mon', 'Mon', 'Tue', 'Tue', 9, 9, 3, 3, 3, 3]
reduce函数将作为参数传递给它的特定函数应用于作为第二参数传递给它的所有列表元素。我们将其与add函数一起使用,该函数会添加列表中每个元素的重复元素。
from functools import reduce from operator import add # Given list listA = ['Mon', 'Tue', 9, 3, 3] print("Given list : ",listA) # Adding another element for each element Newlist = list(reduce(add, [(i, i) for i in listA])) # Result print("New list after duplication: ",Newlist)
输出结果
运行上面的代码给我们以下结果-
Given list : ['Mon', 'Tue', 9, 3, 3] New list after duplication: ['Mon', 'Mon', 'Tue', 'Tue', 9, 9, 3, 3, 3, 3]