2016-09-30 6 views
10

क्या आप इस परिणाम को प्राप्त करने के लिए एक आसान तरीका जानते हैं?पायथन में दो डेटा सेट की समानता निर्धारित करने का सबसे अच्छा तरीका?

color1 = input("Color 1: ") 
color2 = input("Color 2: ") 

if ((color1=="blue" and color2=="yellow") or (color1=="yellow" and color2=="blue")): 
      print("{0} + {1} = Green".format(color1, color2)) 

मैं भी इस के साथ करने की कोशिश की:

if (color1 + color2 =="blueyellow" or color1 + color2 =="yellowblue") 
+10

जबकि [कोड समीक्षा] (http://codereview.stackexchange.com/tour) इस प्रकार के प्रश्न के लिए जाने का सुझाव देने के लिए एक अच्छी जगह हो सकती है, हमें वहां पर प्रश्न पूछने वालों की आदत से बाहर निकलना चाहिए। कृपया स्पष्टीकरण के लिए [यह] पढ़ें (http://meta.codereview.stackexchange.com/questions/5777/a-guide-to-code-review-for-stack-overflow-users) मेटा पोस्ट पढ़ें। – idjaw

+5

कृपया कोड समीक्षा संदर्भ देना बंद करें। मैंने अपनी टिप्पणी में पोस्ट किए गए लिंक पढ़ें, हमें ऐसा क्यों करना बंद करना है। – idjaw

+3

सेट ([रंग 1, रंग 2]) == सेट (["पीला", "नीला"]) – zaquest

उत्तर

20

आप तुलना के लिए set एस का उपयोग कर सकते हैं।

दो सेट के बराबर हैं, तो और प्रत्येक सेट के प्रत्येक तत्व में निहित है ही अगर अन्य

In [35]: color1 = "blue" 

In [36]: color2 = "yellow" 

In [37]: {color1, color2} == {"blue", "yellow"} 
Out[37]: True 

In [38]: {color2, color1} == {"blue", "yellow"} 
Out[38]: True 
8

बड़ी तस्वीर न चूकें मैं इस कोड है। सामान्य रूप से समस्या से संपर्क करने का एक बेहतर तरीका यहां है।

क्या होगा यदि आप "मिश्रण" शब्दकोश को परिभाषित करेंगे, जहां आप रंगों के रूप में रंगों और परिणामी रंगों को मान के रूप में मिश्रित करेंगे। कार्यान्वयन के लिए

एक विचार मानचित्रण कुंजी के रूप में frozenset रों स्वभाव से अपरिवर्तनीय उपयोग करने के लिए है:

mixes = { 
    frozenset(['blue', 'yellow']): 'green' 
} 

color1 = input("Color 1: ") 
color2 = input("Color 2: ") 

mix = frozenset([color1, color2]) 
if mix in mixes: 
    print("{0} + {1} = {2}".format(color1, color2, mixes[mix])) 

इस तरह से आप कर सकते हैं आसानी से पैमाने समाधान ऊपर, कई बिना भिन्न-भिन्न घोला जा सकता है जोड़ते हैं/किसी और नेस्ट की स्थिति ।

संबंधित मुद्दे