0

より大きな文字列をマーカーで分割する文字列のリストを収集できるようにしたいと考えています ',

ただし、次のエラーが発生し続けます。

TypeError: string indices must be integers, not str

誰かがそれを見ることができれば、これが私のコードです

for f in phonebook:
    print f
    if phonebook[f] + phonebook[f+1] == "'," :
        lineString = phonebook[startpoint:(f+1)]
        arrayOfStrings[j] = lineString
        startpoint = f+2
        j = j+1 #iterate through the array 

return arrayOfStrings

最終的にコードをどのようにしたいかのサンプルは次のようになります。

arrayOfStrings[1] を出力します

+445557284

print arrayOfStrings[4]

+445558928など

4

2 に答える 2

1

fは へのインデックスではなく、からphonebookです phonebook。インデックスが必要な場合は、 を使用enumerateしてそのインデックスをループに追加します。次のアイテムも見ているのでphonebook、最後の値以外はすべてループします。

for i, char in enumerate(phonebook[:-1]):
    if char + phonebook[i + 1] == "',":
        lineString = phonebook[startpoint:i + 1]
        arrayOfStrings[j] = lineString
        startpoint = i + 2
        j += 1

この場合、enumerate簡単なオフセットのために 1 から開始することもできます。

for next_index, char in enumerate(phonebook[:-1], 1):
    if char + phonebook[next_index] == "',":
        lineString = phonebook[startpoint:next_index]
        arrayOfStrings[j] = lineString
        startpoint = next_index + 1
        j += 1
于 2013-02-14T10:59:55.953 に答える