x in y
を使ってチェックすると2つの文字列があるとわかります。そして、文字列がリスト内のいずれかの文字列に含まれているかどうかをチェックしたいのであれば、そのためにループを使用するだけです。あるリスト内の文字列が別のリストの部分文字列であるかどうかを調べる
しかし、最初のリストのいずれかの文字列が2番目のリストの文字列の部分文字列であるかどうかを確認する最も非効率的で効率的な方法は何ですか?
例は次のようになります。
notPresent = []
present = []
listA = ['Rick', 'James']
listB = ['Rick', 'Ricky', 'Ryan', 'Jam', 'Jamesses', 'Jamboree']
notPresent = ['Ryan', 'Jam', 'Jamboree']
present = ['Rick', 'Ricky', 'Jamesses']
私は両方present
とnotPresent
単語を使用するつもりです。ループの
#python2
notPresent = set()
present = set()
listA = ['Rick', 'James']
listB = ['Rick', 'Ricky', 'Ryan', 'Jam', 'Jamesses', 'Jamboree']
#notPresent = ['Ryan','Jam','Jamboree']
#present = ['Rick','Ricky','Jamesses']
for b in listB:
for a in listA:
if a in b:
present.add(b)
break
else:
notPresent.add(b)
print(list(notPresent))
print(list(present))
だから、基本的には2:
* "* - [' any'](https://docs.python.org/3/library/functions.html#any)のいずれかがチェックされていますか?あなたは、現在のコードが妥当ではないと思いますか? – jonrsharpe
「リストの要素のいずれか」と同様。私は、既存のコードを最適化するのではなく、これを行う方法を理解する過程にあります。私はforループ内のforループを推測しています。 – McLeodx
はい、私は理解しています、そして、私は*そのための組み込み関数があると言っています。リンクをたどって見てください! – jonrsharpe