2016-06-16 22 views
0

Ich möchte herausfinden, ob eine Zeichenfolge zwei Elemente aus einer Liste hat, die identisch sind (ein Element erschien zwei Mal).So finden Sie X-Elemente aus einer Liste in einer Zeichenfolge und beide Elemente sind gleich

Hier ist mein Code:

List = ['XZ', 'AB', 'CD', ] 

string1 = 'helloXZ worldXZ' 
string2 = 'hello world' 
string3 = 'hello wordCD' 
string4 = 'helloXZ worldCD' 

if any(s in string for s in List) and any(s == s in string for s in List): 
print ('true') 
else: 
print('false')` 

Ich erhalte alle Strings wahr außer Zeichenfolge2, und ich möchte alle falsch außer erste! Ich versuchte s==s, s==s*2, s==s+s und s>=2 mit keinem Erfolg.

Antwort

0

Verwenden

if string1.count(str) > 1: 
     ... 

if string2.count(str) > 1: 
     ... 

statt irgend()

+0

Ich konnte nicht es auf diese Weise tun, wenn (s in string1 für s in List): für s in List: wenn string1.count (s)> 1: print ('true') \t anderes: \t \t drucken ('false') Vielen Dank! – JMcgreen

0
  if any(s in string and string.count(run) > 1 for s in list) : 
        print('true') 
      else: 
       print('false') 

, das funktioniert!

Verwandte Themen