اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

ليس بشكل مباشر فلا تتوفر دالة مُضمنة في بايثون لفعل ذلك، لكن يوجد هيكل بيانات set، وهو نوع بيانات يقوم تلقائيًا بإزالة التكرارات، وبالتالي نستطيع مقارنة طوله مع طول القوائم الأصلية لمعرفة هل الأعداد فريدة أم لا.

كالتالي:

def are_all_unique(lst):
    return len(lst) == len(set(lst))

my_list1 = [1, 2, 3, 4, 5]  
my_list2 = [1, 2, 3, 2, 4]  

print(are_all_unique(my_list1))  
print(are_all_unique(my_list2))  

لاحظ قمت بتحويل القوائم إلى set من خلال دالة set(lst) ومقارنة الطول وإرجاع True في حال الأعداد الفريدة أو False في حال وجود أعداد غير فريدة وذلك في القائمة الثانية حيث يتكرر العدد 2

  • 0
نشر

يمكنك القيام بهذا الأمر بطريقة غير مباشرة عن طريق استخدام set، و الفكرة هي مقارنة طول القائمة الأصلية مع طول set الناتج عنها، لأن set يحتفظ فقط بالعناصر الفريدة.

def all_unique(lst):
    return len(lst) == len(set(lst))

# اختبار
numbers = [1, 2, 3, 4, 5]
print(all_unique(numbers))  # True

numbers = [1, 2, 3, 3, 5]
print(all_unique(numbers))  # False

إذا كانت القيم مكررة، فسيكون طول set(lst) أقل من طول القائمة الأصلية، مما يعني أن الأعداد ليست فريدة.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...