pythonで文字リストから文字列の位置を返す

1863 ワード

pythonで文字リストから文字列の位置を返す
文字リストから各文字の文字列内の位置を特定し、各文字位置間のスペースを最後の文字列を除く単一の文字列に戻す必要があります.文字リストにないazの文字からなるすべての文字を無視する必要があります.
ポリシー:
まず、az文字のリストをリストに宣言する必要があります.
alphabetlist = ["a", 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

次に、文字列内の各文字を巡回し、上の文字リストで各文字の位置を検索するループを作成します.文字がリストにない場合は、反復をスキップして次の文字に移動します.検索が開始される前に文字が小文字に変換され、ゼロを含む戻りインデックス(0ではなく1から)に1を追加する必要があります.
for ch in text:
        if(ch.lower() not in alphabetlist):
            continue
        else:
            ch = ch.lower()
            letterpos += str(alphabetlist.index(ch) + 1) + " "

最後に文字列の位置を返します.文字列の最後のスペースを遮断することを忘れないでください.完全なコードは次のとおりです.
def alphabet_position(text):
    if(len(text) == 0): # if the text is blank then return it
        return text
 
    alphabetlist = ["a", 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
 
    letterpos = ''
    
    for ch in text:
        if(ch.lower() not in alphabetlist):
            continue
        else:
            ch = ch.lower()
            letterpos += str(alphabetlist.index(ch) + 1) + " "
            
    return letterpos.rstrip()

stringパラメータで上記の関数を呼び出して結果を表示できます.


転載先:https://blog.51cto.com/meyangyang/2089288