TheProgrammer نشر 15 نوفمبر 2015 أرسل تقرير نشر 15 نوفمبر 2015 أريد معرفة كيف تتم المقارنة بين السلاسل النصية والأعداد الصحيحة في بايثون، لأنني قمت بالمقارنة وحصلت على نتائج غريبة وأعتقد أنها متناقضة، مثال على غرابة المقارنة:print "100" < "2" # True print "5" > "9" # False print "100" < 2 # False print 100 < "2" # True print 5 > "9" # False print "5" > 9 # True اقتباس
0 هشام رزق الله نشر 15 نوفمبر 2015 أرسل تقرير نشر 15 نوفمبر 2015 شرح من التوثيق الرسمي للبايثون:يتم ترتيب الكائنات من نوع مختلف (ما عدا الأرقام) حسب أسمائهم، وأما الكائنات من النوع نفسه والتي لا تدعم طريقة مقارنة صحيحة يتم ترتيبهم حسب العناوين.لذلك فإنه عندما تقوم بالمقارنة بين سلسلتين نصيّتين أو عددين صحيحين فإنه يتم ترتيبهم بطريقة متوقعة وليست عشوائية (ترتيب لكسيكوجرافيك lexicographic للسلاسل النصية، وترتيب رقمي للأعداد الصحيحة).وعندما تقوم بالمقارنة بين نوع رقمي ونوع غير رقمي، فإن النوع الرقمي يأتي أولا كما في المثال التالي:>>> 5 < 'foo' True >>> 5 < (1, 2) True >>> 5 < {} True >>> 5 < [1, 2] True وعندما تقوم بالمقارنة بين نوعين غير رقميين، فإنه سيتم ترتيبهم حسب ترتيب الأبجدية لاسم النوع:>>> [1, 2] > 'foo' # 'list' < 'str' False >>> (1, 2) > 'foo' # 'tuple' > 'str' True المصدر اقتباس
السؤال
TheProgrammer
أريد معرفة كيف تتم المقارنة بين السلاسل النصية والأعداد الصحيحة في بايثون، لأنني قمت بالمقارنة وحصلت على نتائج غريبة وأعتقد أنها متناقضة، مثال على غرابة المقارنة:
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.