এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখব যা ভিন্ন ভিন্ন লিস্টের একই ইন্ডেক্সের এলিমেন্টগুলোকে একসাথে একটি লিস্টে কম্বাইন করবে। এখানে একটি কনস্ট্রেইন্ট রয়েছে। সব লিস্টের দৈর্ঘ্য একই হতে হবে। আরও স্পষ্ট বোঝার জন্য একটি উদাহরণ দেখা যাক।
ইনপুট
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
আউটপুট
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
আমরা ভিন্ন ভিন্ন উপায়ে সমাধান করতে পারি। চলুন সাধারণ লুপ ব্যবহার করে সমাধান দেখি।
- লিস্টের লিস্ট ইনিশিয়ালাইজ করুন।
- একটি খালি লিস্ট ইনিশিয়ালাইজ করুন।
- একটি ভ্যারিয়েবল index ০ দিয়ে ইনিশিয়ালাইজ করুন।
- সাব লিস্টের দৈর্ঘ্য বার ইটারেট করুন
- প্রিভিয়াস লিস্টে একটি খালি সাবলিস্ট অ্যাপেন্ড করুন
- লিস্টের দৈর্ঘ্য বার ইটারেট করুন।
- **lists[current_index][index]** কে **result[index]** এ অ্যাপেন্ড করুন
- ফলাফল প্রিন্ট করুন।
উদাহরণ
# লিস্ট ইনিশিয়ালাইজ
lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# খালি লিস্ট
result = []
# ভ্যারিয়েবল ০
index = 0
# সাব_লিস্ট দৈর্ঘ্য (৩) বার ইটারেট
for i in range(len(lists[0])):
# একটি খালি সাব_লিস্ট অ্যাপেন্ড
result.append([])
# লিস্ট দৈর্ঘ্য (৩) বার ইটারেট
for j in range(len(lists)):
# এলিমেন্ট রেজাল্টে যোগ
result[index].append(lists[j][index])
# নেক্সট ইন্ডেক্সে যান
index += 1
# ফলাফল প্রিন্ট
print(result)
আউটপুট
যদি আপনি উপরের কোডটি রান করেন, তবে আপনি নিচের ফলাফল পাবেন।
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
আমরা zip ফাংশন ব্যবহার করে খুব সহজে সমাধান করতে পারি। zip ফাংশন আমাদের চাওয়া মতো সব ইন্ডেক্স এলিমেন্ট টাপল আকারে দেয়। চলুন কোডটি দেখি।
উদাহরণ
# লিস্ট ইনিশিয়ালাইজ lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # zip ব্যবহার করে প্রিন্ট print(list(zip(*lists)))
আউটপুট
যদি আপনি উপরের কোডটি রান করেন, তবে আপনি নিচের ফলাফল পাবেন।
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
টাপলগুলোকে লিস্টে কনভার্ট করতে লিস্টের ওপর ইটারেট করতে হবে। এটা ভিন্ন ভিন্নভাবে করা যায়। আমরা আরেকটি ফাংশন map ব্যবহার করব সব টাপলকে লিস্টে কনভার্ট করার জন্য। এটি এক লাইনের কোড।
উদাহরণ
# লিস্ট ইনিশিয়ালাইজ lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # zip এবং map ব্যবহার করে প্রিন্ট print(list(map(list, zip(*lists))))
আউটপুট
যদি আপনি উপরের কোডটি রান করেন, তবে আপনি নিচের ফলাফল পাবেন।
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
আমরা map ব্যবহার করে লিস্টের ওপর ইটারেট করি এবং প্রতিটি টাপলকে লিস্টে কনভার্ট করি। আপনি লুপ দিয়েও একই কাজ করতে পারেন। ট্রাই করুন।
উপসংহার
যদি টিউটোরিয়ালের বিষয়ে কোনো প্রশ্ন থাকে, তবে কমেন্ট সেকশনে জানান।