在Python中附加两次Odd元素
在本文中,我们将了解如何获取包含一些奇数作为元素的列表,然后将这些奇数重复添加到同一列表中。这意味着如果一个奇数在一个列表中出现两次,那么经过处理后,该奇数将在同一列表中出现四次。
对于此要求,我们将有多种方法使用for循环和in条件,或者使用itertools模块帮助。我们还通过将每个元素除以二来检查奇数条件。
示例
from itertools import chain import numpy as np data_1 = [2,11,5,24,5] data_2=[-1,-2,-9,-12] data_3= [27/3,49/7,25/5] odd_repeat_element_3=[] # using for and in odd_repeat_element = [values for i in data_1 for values in (i, )*(i % 2 + 1)] print("Given input values:'", data_1) print("带有奇数重复值的列表:", odd_repeat_element) # Using chain from itertools odd_repeat_element_2 = list(chain.from_iterable([n] if n % 2 == 0 else [n]*2 for n in data_2)) print("\nGiven input values:'", data_2) print("带有奇数重复值的列表:", odd_repeat_element_2) # Using extend from mumpy for m in data_3: (odd_repeat_element_3.extend(np.repeat(m, 2, axis = 0)) if m % 2 == 1 else odd_repeat_element_3.append(m)) print("\nGiven input values:'", data_3) print("带有奇数重复值的列表:", odd_repeat_element_3)
运行上面的代码将为我们提供以下结果:
Given input values:' [2, 11, 5, 24, 5] 带有奇数重复值的列表: [2, 11, 11, 5, 5, 24, 5, 5] Given input values:' [-1, -2, -9, -12] 带有奇数重复值的列表: [-1, -1, -2, -9, -9, -12] Given input values:' [9.0, 7.0, 5.0] 带有奇数重复值的列表: [9.0, 9.0, 7.0, 7.0, 5.0, 5.0]