Python में list समान items का संग्रह होता है। हमें कभी-कभी दो lists में data items की तुलना करके कुछ operations करने की आवश्यकता होती है। हम Python में दो lists की तुलना करने के कुछ तरीकों पर चर्चा करेंगे।
list.sort() और == ऑपरेटर का उपयोग
list.sort() विधि दोनों lists को sort करती है और == ऑपरेटर दोनों lists की तुलना item by item करता है, यानी उनमें समान positions पर equal data items हैं। यह जांचता है कि list में equal data item values हैं लेकिन list में elements के order को ध्यान में नहीं रखता। इसका मतलब है कि list [1,2,3] list [2,1,3] के बराबर होगी इस तुलना विधि के अनुसार।
उदाहरण
def compareList(l1, l2):
l1.sort()
l2.sort()
if l1 == l2:
return "Equal"
else:
return "Non equal"
l1 = [1, 2, 3]
l2 = [2, 1, 3]
print("First comparison", compareList(l1, l2))
l3 = [1, 2, 3]
l4 = [1, 2, 4]
print("Second comparison", compareList(l3, l4))
आउटपुट
First comparison Equal Second comparison Non equal
collections.Counter() का उपयोग
यह विधि पहली list में प्रत्येक element की frequency की तुलना दूसरी list से करके lists की equality की जांच करती है। यह विधि भी list के elements के order को ध्यान में नहीं रखती।
उदाहरण
import collections
def compareList(l1, l2):
if collections.Counter(l1) == collections.Counter(l2):
return "Equal"
else:
return "Non equal"
l1 = [1, 2, 3]
l2 = [2, 1, 3]
print("First comparison", compareList(l1, l2))
l3 = [1, 2, 3]
l4 = [1, 2, 4]
print("Second comparison", compareList(l3, l4))
आउटपुट
First comparison Non equal Second comparison Equal
sum(), zip() और len() का उपयोग
यह विधि पहले दोनों lists के प्रत्येक element की तुलना करती है और उन्हें 1 के summation के रूप में store करती है, जिसकी तुलना फिर दूसरी list की length से की जाती है। इस विधि के लिए, हमें पहले दोनों lists की lengths समान हैं या नहीं जांचना होता है।
यह विधि elements के order की भी जांच करती है। इसका मतलब है कि list [1,2,3] list [2,1,3] के बराबर नहीं है।
उदाहरण
def compareList(l1, l2):
if len(l1) == len(l2) and len(l1) == sum([1 for i, j in zip(l1, l2) if i == j]):
return "Equal"
else:
return "Non equal"
l1 = [1, 2, 3]
l2 = [2, 1, 3]
print("First comparison", compareList(l1, l2))
l3 = [1, 2, 3]
l4 = [1, 2, 3]
print("Second comparison", compareList(l3, l4))
आउटपुट
First comparison Non equal Second comparison Equal
उपरोक्त उदाहरण में, पहली तुलना के लिए, दोनों lists में data items समान हैं लेकिन elements का order अलग है। इसलिए पहली तुलना not equal लौटाती है।
== ऑपरेटर का उपयोग
यह पहली विधि का संशोधन है। इस विधि में, lists की तुलना बिना sorting के की जाती है और इस प्रकार यह विधि lists में data items के order को ध्यान में रखती है।
उदाहरण
def compareList(l1, l2):
if l1 == l2:
return "Equal"
else:
return "Non equal"
l1 = [1, 2, 3]
l2 = [2, 1, 3]
print("First comparison", compareList(l1, l2))
l3 = [1, 2, 3]
l4 = [1, 2, 3]
print("Second comparison", compareList(l3, l4))
आउटपुट
First comparison Non equal Second comparison Equal
ये Python में lists की तुलना करने के कुछ तरीके हैं, जो data items के order को ध्यान में रखते हुए और बिना ध्यान में रखे दोनों तरह से काम करते हैं।