जवाबों:
टुपल्स की स्थिति की स्थिति से तुलना की जाती है: पहली टुपल के पहले आइटम की तुलना दूसरे टुपल के पहले आइटम से की जाती है; यदि वे समान नहीं हैं (अर्थात पहला दूसरे से बड़ा या छोटा है) तो यह तुलना का परिणाम है, दूसरे आइटम को माना जाता है, फिर तीसरा और इसी तरह।
सामान्य अनुक्रम संचालन देखें :
एक ही प्रकार के अनुक्रम भी तुलना का समर्थन करते हैं। विशेष रूप से, टुपल्स और सूचियों की तुलना शाब्दिक रूप से संबंधित तत्वों की तुलना करके की जाती है। इसका अर्थ है कि समान की तुलना करने के लिए, प्रत्येक तत्व की तुलना बराबर होनी चाहिए और दो क्रम एक ही प्रकार के होने चाहिए और उनकी लंबाई समान होनी चाहिए।
इसके अलावा आगे के विवरण के लिए मूल्य तुलना :
अंतर्निहित संग्रह के बीच की लक्सोग्राफिक तुलना इस प्रकार है:
- समान की तुलना करने के लिए दो संग्रहों के लिए, उन्हें एक ही प्रकार का होना चाहिए, समान लंबाई होनी चाहिए, और संबंधित तत्वों की प्रत्येक जोड़ी की तुलना बराबर होनी चाहिए (उदाहरण के लिए,
[1,2] == (1,2)
यह गलत है क्योंकि प्रकार समान नहीं है)।- आदेश की तुलना का समर्थन करने वाले संग्रह को उनके पहले असमान तत्वों (उदाहरण के लिए,
[1,2,x] <= [1,2,y]
के समान मूल्यx <= y
) के समान आदेश दिया जाता है । यदि कोई संगत तत्व मौजूद नहीं है, तो छोटे संग्रह को पहले ऑर्डर किया जाता है (उदाहरण के लिए,[1,2] < [1,2,3]
सच है)।
यदि समान नहीं है, तो अनुक्रमों को उनके पहले भिन्न तत्वों के समान आदेश दिया जाता है। उदाहरण के लिए, cmp ([1,2, x], [1,2, y]) cmp (x, y) के समान है। यदि संबंधित तत्व मौजूद नहीं है, तो छोटे अनुक्रम को छोटा माना जाता है (उदाहरण के लिए, [1,2] <[1,2,3] सत्य है)।
नोट 1 : <
और >
इसका अर्थ "" से छोटा "और" से बड़ा नहीं "है, लेकिन" से पहले है "और" के बाद है: "(0, 1)" से पहले है (1, 0)।
नोट 2 : ट्यूपल्स को एन-डायमेंशनल स्पेस में वैक्टर के रूप में नहीं माना जाना चाहिए , उनकी लंबाई के अनुसार।
नोट 3 : सवाल का जिक्र करते हुए /programming/36911617/python-2-tuple-comparison : यह मत सोचो कि एक ट्यूपल केवल दूसरे की तुलना में "अधिक" है यदि पहले का कोई तत्व संगत से अधिक हो। दूसरे में एक।
x = tuple([0 for _ in range(n)])
और y के लिए भी ऐसा ही करें। N = 100, 1000, 10,000, और 100,000 सेट करना और रनिंग %timeit x==y
ने क्रमशः .5, 4.6, 43.9 और 443 माइक्रोसेकंड के समय मान दिए, जो कि लगभग ओ (एन) के रूप में है जैसा कि आप व्यावहारिक रूप से प्राप्त कर सकते हैं।
<
और >
"छोटे तब" और "बड़े तब" का मतलब नहीं है, लेकिन "पहले आता है" और "बाद में आता है": तो (0, 1)
"पहले आता है"(1, 0)
अजगर प्रलेखन समझा है।
Tuples और सूचियों की तुलना इसी तत्वों के तुलनात्मक रूप से की जाती है। इसका अर्थ है कि समान की तुलना करने के लिए, प्रत्येक तत्व की तुलना बराबर होनी चाहिए और दो अनुक्रम एक ही प्रकार के होने चाहिए और उनकी लंबाई समान होनी चाहिए।
अजगर 2.5 प्रलेखन यह अच्छी तरह से बताते हैं।
Tuples और सूचियों की तुलना इसी तत्वों के तुलनात्मक रूप से की जाती है। इसका अर्थ है कि समान की तुलना करने के लिए, प्रत्येक तत्व की तुलना बराबर होनी चाहिए और दो अनुक्रम एक ही प्रकार के होने चाहिए और उनकी लंबाई समान होनी चाहिए।
यदि समान नहीं है, तो अनुक्रमों को उनके पहले भिन्न तत्वों के समान आदेश दिया जाता है। उदाहरण के लिए, cmp ([1,2, x], [1,2, y]) cmp (x, y) के समान है। यदि संबंधित तत्व मौजूद नहीं है, तो छोटे अनुक्रम को पहले आदेश दिया जाता है (उदाहरण के लिए, [1,2] <[1,2,3])।
दुर्भाग्य से वह पृष्ठ हाल के संस्करणों के लिए प्रलेखन में गायब हो गया है।
a = ('A','B','C') # see it as the string "ABC"
b = ('A','B','D')
A को ord('A') #65
अन्य तत्वों के लिए इसी ASCII में परिवर्तित किया जाता है
तो,
>> a>b # True
आप इसे स्ट्रिंग के बीच तुलना के रूप में सोच सकते हैं (यह वास्तव में है, वास्तव में)
यही बात पूर्णांक के लिए भी जाती है।
x = (1,2,2) # see it the string "123"
y = (1,2,3)
x > y # False
क्योंकि (1 से अधिक नहीं है, अगले करने के लिए ले जाएँ, 2 2 से अधिक नहीं है, अगले 2 के लिए कदम तीन से कम है - -योगात्मक रूप से)
उपरोक्त उत्तर में मुख्य बिंदु का उल्लेख किया गया है
एक तत्व के रूप में इसके बारे में सोचो एक और वर्णानुक्रम से पहले एक तत्व तत्व से अधिक नहीं है और इस मामले में सभी टपल तत्वों को एक स्ट्रिंग पर विचार करें।
(1,2,3) > (1,2,2)
देता हैTrue
<
और>
। उदाहरण के लिए, का(0, 1) < (1, 0)
मूल्यांकन करता हैTrue
।