এই আর্টিকেলে আমরা দেখব কিভাবে একটি লিস্ট যাতে কিছু বিজোড় সংখ্যা উপাদান হিসেবে থাকে, সেটিতে সেই বিজোড় উপাদানগুলো বারবার যোগ করতে হয়। অর্থাৎ যদি কোন বিজোড় সংখ্যা লিস্টে দুবার থাকে, প্রসেস করার পর সেটি চারবার থাকবে।
এই কাজের জন্য আমরা বিভিন্ন পদ্ধতি ব্যবহার করতে পারি, যেমন- 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]