[英]Common characters within strings in 2 lists in Python
我有2個列表,如下所示:
a = ["Ron is great", "Mark is good", "Sheela is bad", "Amy is horrible"]
b = ["Ron", "Mark"]
c = [item for item in a if item in b]
我通常使用上面的列表理解來找到2個列表之間的公共元素,但是在上述情況下它失敗了,因為IN函數精確匹配,因此c是一個空列表。我如何規避這個問題並嘗試獲取列表c看起來像這樣:
c=["Ron is great", "Mark is good"]
例如,您將需要兩個循環
c = [item for item in a
if any(name in item for name in b)]
應該足夠了。
您的問題通過列表表達式解決
>>> a = ["Ron is great", "Mark is good", "Sheela is bad", "Amy is horrible"]
>>> b = ["Ron", "Mark"]
>>> c= [
... sentence
... for word in b
... for sentence in a
... if word in sentence
... ]
['Ron is great', 'Mark is good']
你可以這樣嘗試
>>> a = ["Ron is great", "Mark is good", "Sheela is bad", "Amy is horrible"]
>>> b = ["Ron", "Mark"]
>>> [ item for item in a for word in b if word in item]
['Ron is great', 'Mark is good']
>>>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.