इस लेख में हम देखेंगे कि कैसे एक सूची लें जिसमें कुछ विषम संख्याएँ तत्वों के रूप में हों और फिर उन विषम तत्वों को बार-बार उसी सूची में जोड़ें। इसका मतलब है कि यदि कोई विषम संख्या सूची में दो बार मौजूद है, तो प्रसंस्करण के बाद वह विषम संख्या उसी सूची में चार बार मौजूद होगी।
इस आवश्यकता के लिए हमारे पास कई दृष्टिकोण हैं जहाँ हम 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 = []
# for और in का उपयोग करके
odd_repeat_element = [values for i in data_1 for values in (i,) * (i % 2 + 1)]
print("Given input values:", data_1)
print("List with odd number repeated values:", odd_repeat_element)
# itertools से chain का उपयोग करके
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("List with odd number repeated values:", odd_repeat_element_2)
# numpy से extend का उपयोग करके
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("List with odd number repeated values:", odd_repeat_element_3)
उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है:
Given input values: [2, 11, 5, 24, 5] List with odd number repeated values: [2, 11, 11, 5, 5, 24, 5, 5] Given input values: [-1, -2, -9, -12] List with odd number repeated values: [-1, -1, -2, -9, -9, -12] Given input values: [9.0, 7.0, 5.0] List with odd number repeated values: [9.0, 9.0, 7.0, 7.0, 5.0, 5.0]