現在アルファベットの特定の文字の置換リストがあります。 a
の文字は、の最初ののインデックス、b
のインデックス、のインデックス、のインデックスなどの値で置き換えられます。Pythonで連結リスト内包表記を使用する
私がPythonで高く評価している機能の1つは、リスト内包表記を実行する機能です。しかし、連結でこれを実行しようとしたとき、私は肯定的な結果を得ていませんでした。
letters = ["ka","zu","mi","te","ku","lu","ji","ri","ki","zu","me","ta","rin","to","mo",
"no","ke","shi","ari","chi","do","ru","mei","na","fu","zi"]
def nameToNinja(str):
name = ""
for i in str:
i=i.lower()
if ord(i) >= 97 and ord(i) <= 122:
name+= letters[ord(i.lower()) - 97]
else:
name += i
return name
name = "Obama"
print("Your ninja name is: {0}".format(nameToNinja(name)))
この機能をPythonでリスト内包にすることはできません。実際、私が受け取っている唯一のエラーはSyntax Error
です。
試み:
def nameToNinja(str):
return ''.join([letters[ord(i.lower()) - 97] if ord(i.lower()) >= 97 and ord(i.lower()) <= 122 else i
for i in str)
連結されたリストの内包表記に元の関数を短縮するための正しい方法は何ですか。
をあなたはあなたのブラケットを不一致。 – user2357112