このコードの目的は、大きな文字列の部分文字列の先頭インデックスをリストする辞書を返します。単純なpython 2.7のコードに問題があります: "'list'オブジェクトに 'find'属性がありません"
例。 {"a":0、 "b":1、 "c":2、 "d": - "match"を返すと、matchUp(["a"、 "b"、 "d"]、 "abc" 1}(-1がデフォルトの空のキーである)
この質問のヒントは、find関数が別の文字列の部分文字列の開始インデックスを示すことができるということです。 StrArrayとの文字の配列、およびyは、私が探していたサブストリングです。
def matchUp (strArray, word):
index ={}
for x in strArray:
index [x]=-1
for y in word:
for x in index:
if y in strArray:
index [x]= strArray.find(y)
return index
リストは 'find'メソッドを持っていません。これは文字列に固有です。リストには 'index'しかありません。どうしてか分かりません。 – user2357112
私はこの方法をインデックスに切り替えました。私が期待していた結果で終わることはありませんでした。私は0を得たはずだったときに私のテストのために全面的に-1を得ました – grilam14