কখনও কখনও লিস্টের ভ্যালুগুলো রিপিট বা ডুপ্লিকেট করার প্রয়োজন হয়। পাইথনে এতে কিছু পদ্ধতি আছে।
নেস্টেড for লুপ ব্যবহার করে
সিম্পল পদ্ধতিতে প্রতিটি এলিমেন্ট নেয়া হয়, ইনার for লুপ দিয়ে ডুপ্লিকেট তৈরি করে আউটার লুপে পাস করা হয়।
উদাহরণ
listA = ['Mon', 'Tue', 9, 3, 3]
print("Given list : ", listA)
Newlist = [i for i in listA for n in (0, 1)]
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 ব্যবহার করে
itertools মডিউলের chain.from_iterable ব্যবহার করে এলিমেন্টগুলো রিপিট করা হয়।
উদাহরণ
import itertools
listA = ['Mon', 'Tue', 9, 3, 3]
print("Given list : ", listA)
Newlist = list(itertools.chain.from_iterable([n, n] for n in listA))
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 ফাংশন ব্যবহার করে
functools.reduce এবং operator.add ব্যবহার করে প্রতিটি এলিমেন্টের ডুপ্লিকেট যোগ করা হয়।
উদাহরণ
from functools import reduce
from operator import add
listA = ['Mon', 'Tue', 9, 3, 3]
print("Given list : ", listA)
Newlist = list(reduce(add, [(i, i) for i in listA]))
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]