কম্পিউটার টিউটোরিয়াল

পাইথনে টাপলগুলো টোটাল ডিজিট সংখ্যা অনুযায়ী সাজানো


ভূমিকা

একটি টাপল তালিকাকে প্রতিটি টাপলের সব সংখ্যার ডিজিট সংখ্যায় যোগফল (টোটাল ডিজিট) অনুযায়ী সাজানো যেতে পারে। এজন্য sorted() ফাংশনের key প্যারামিটারে ল্যাম্বডা ফাংশন ব্যবহার করা হয়।

উদাহরণ কোড

my_list = [(11, 23, 45, 678), (34, 67), (653,), (78, 99, 23, 45), (67, 43)]
print("The list is :")
print(my_list)

my_result = sorted(my_list, key=lambda tup: sum([len(str(ele)) for ele in tup]))
print("The sorted tuples are")
print(my_result)

আউটপুট

The list is : [(11, 23, 45, 678), (34, 67), (653,), (78, 99, 23, 45), (67, 43)]
The sorted tuples are [(653,), (34, 67), (67, 43), (78, 99, 23, 45), (11, 23, 45, 678)]

ব্যাখ্যা

  • lambda tup: sum([len(str(ele)) for ele in tup]): প্রতিটি টাপল (tup) এর জন্য, প্রতিটি এলিমেন্টকে স্ট্রিংয়ে কনভার্ট করে (str(ele)), তার দৈর্ঘ্য (len) নেয় (ডিজিট সংখ্যা), এবং সেগুলো যোগ করে (sum)।

  • টাপলগুলো এবং তাদের টোটাল ডিজিট:

    • (11, 23, 45, 678): 2+2+2+3 = 9
    • (34, 67): 2+2 = 4
    • (653,): 3 = 3
    • (78, 99, 23, 45): 2+2+2+2 = 8
    • (67, 43): 2+2 = 4
  • সাজানো ক্রম: 3, 4, 4, 8, 9। (টাই ব্রেকার: původি অর্ডার রক্ষা হয়, stable sort)।

উন্নতি

জেনারেটর এক্সপ্রেশন ব্যবহার করলে মেমোরি দক্ষ: sum(len(str(ele)) for ele in tup)।


  1. পাইথনে রঙ সর্ট করা

  2. পাইথনে ভেরিয়েবলের স্কোপ (Scope of Variables)

  3. পাইথনে টাপল আপডেট (Updating Tuples)

  4. পাইথনে টাপলসকে যেকোনো কী অনুযায়ী ক্রমবর্ধমান কন্ডিশনে সর্ট করার প্রোগ্রাম