2017-02-25 4 views
2
arr = ["mincraft", "Star"] 
inputs = ["minecraft?s update", "StarWars", "Babe"] 
i = 0 
while i != len(inputs): 
    if any(words in inputs[i] for words in arr): 
     print inputs[i]; 
    i += 1 

Dieser Code gibt Starwars, wie kann ich es so machen, dass die Zeichenfolge aus arr (Star) wird anstelle der Zeichenfolge in Eingänge (StarWars) gedruckt werden.Vergleich Liste und drucken

+0

'Druck arr [1]' und es wird gedruckt "Star" von ' arr' –

+1

@ JonathanPortorreal hahaha ,, IDK wenn das ein Witz war aber es brachte mich zum lachen. : D – Boneyflesh

+0

lol es war teilweise –

Antwort

3
arr = ["mincraft","Star"] 
inputs = ["minecraft?s update","StarWars","Babe"] 

for item in arr: 
    if len([x for x in inputs if item in x]) > 0: print item 

Ausgang: Star

+0

Danke, und es macht auch den Code kleiner und sauber – Boneyflesh

4

Sie können dies tun:

temp = [i for i in arr for j in inputs if i in j] 

Ausgang:

['Star'] 
+0

Mehr sauber und kleiner Code hier. @Boneyflesh – Jarvis