2017-02-25 91 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 

此代码输出Starwars,我怎么让这个从arrStar)字符串将被打印出来,而不是在输入字符串(StarWars)。比较列表和打印

+0

'打印改编[1]',它会从打印 “星”' arr' –

+1

@JonathanPortorreal haha​​ha ,, idk如果那是一个笑话,但它让我发笑。 :D – Boneyflesh

+0

哈哈它部分是 –

回答

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 

输出:Star

+0

谢谢,它也使代码更小,更干净 – Boneyflesh

4

你可以这样做:

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

输出:

['Star'] 
+0

这里更干净更小的代码。 @Boneyflesh – Jarvis