2013-07-16 10 views
8

से आम पात्रों जाओ तो, एक newbious प्रश्न:पायथन: तार

  • सभी: मैं दो तार की तुलना और, वापस पाने के लिए अलग तार के रूप में सक्षम होने की सबसे छोटी (और सबसे अच्छा) रास्ता तलाश कर रहा हूँ सामान्य पात्र,
  • असामान्य पात्र, (सभी पात्र लेकिन सामान्य के बिना)
  • वर्ण जो एक स्ट्रिंग के लिए अद्वितीय हैं।

... पायथन का उपयोग करके, (या पर्ल, यदि यह आसान है - लेकिन अधिमानतः पायथन)। उदाहरण:

A = "123 ABC" 
B = "135 AZ" 

thingamajigger(A, B) would give all these: 

intersect = "13 A" (inclues space) 
exclusion = "2BCZ5" 
a_minus_b = "2BC" 
b_minus_a = "5Z" 

a_minus_b काफी सरल है ... लेकिन अगर वहाँ उन फैंसी एक लाइनर तरीके इसे हटा करने के लिए में से एक है, तो मैं खुला हूँ।

for i in B: 
    A = A.replace(i, "") 

यह तारों पर बुलियन ऑपरेशन की तरह थोड़ा सा है।

(और किसी को भी एक बड़े पैमाने पर बोनस है जो एक तरह से है कि इनपुट के रूप में तार के किसी भी नंबर से सभी आम/असामान्य वर्ण वापस आ जाएगी पा सकते हैं। यही कारण है कि वास्तव में बहुत आसान हो जाएगा।)

वैसे भी, सभी को धन्यवाद!

उत्तर

9

उपयोग set:

s = set("123 ABC") 
t = set("135 AZ") 
intersect = s & t # or s.intersection(t) 
exclusion = s^t # or s.symmetric_difference(t) 
a_minus_b = s - t # or s.difference(t) 
b_minus_a = t - s # or t.difference(s) 
+0

वाह ... जाहिर है ... और फिर आप बस का उपयोग करें "कर सकते हैं"। एक स्ट्रिंग में स्क्वैश करने के लिए संयुक्त (सेट)! धन्यवाद। – Jollywatt

+0

@ जोसेफ: यह * सुंदर है, है ना? :-) – jason

+0

केवल thins है, सेट केवल अद्वितीय तत्व होते हैं। तो, कहें कि मैं _ "!" _ से _ "हैलो!" _ को घटा देना चाहता हूं। _set ("हैलो!") का उपयोग करना - सेट ("!") _ _ "हेलो" _ देगा। लेकिन उपर्युक्त _a_minus_b_ कार्यों का उपयोग कर। :) – Jollywatt

-3
String1="xyzabc" #String 
String2="pqrstuv" #Another String 

String1set=set(String1) #need to convert it into set. 
String2set=set(String2) 
String3=String1set^String2set #^for uncommon values 
String3=String1set&String2set # & for common values 
print(String3) 

कारण, हम क्यों इस्तेमाल किया, यहां सेट ->https://www.python-course.eu/sets_frozensets.php

+1

यह दूसरे उत्तर में कुछ नया कैसे जोड़ता है? – usr2564301

+0

शायद, एक पारंपरिक उदाहरण के साथ समझाकर किसी की मदद करेगा। जितना अधिक आप उत्तर के माध्यम से जाते हैं, उतना ही आप सीखते हैं। –

+0

इस कोड स्निपेट के लिए धन्यवाद, जो कुछ सीमित अल्पकालिक सहायता प्रदान कर सकता है। एक उचित स्पष्टीकरण [बहुत सुधार होगा] (// meta.stackexchange.com/q/114762) यह दिखाकर इसका दीर्घकालिक मूल्य * क्यों * यह समस्या का एक अच्छा समाधान है, और भविष्य के पाठकों के साथ इसे और अधिक उपयोगी बना देगा अन्य, समान प्रश्न। आपके द्वारा किए गए अनुमानों सहित कुछ स्पष्टीकरण जोड़ने के लिए कृपया अपना उत्तर संपादित करें। –