1
for
を使用して、リスト(codes
)のインデックスを使用して辞書(keys
)から対応する文字を新しいリスト(decodedlist
)ループ。Python:forループ内のリストのインデックス参照を使用して追加する
試行錯誤の末、i-1
をdecodedlist.append(keys[codes[i-1]])
に入力すると、私が望む結果が得られます(abcde
)。
私は理由を理解することができず、これを代替/より効率的にコーディングする方法があるのか不思議です。 Pythonで
import re
samplecode='''
1asd 2asd as3d 4 asd5asd'''
codes = re.findall(r'\d{1,2}',samplecode)
codes = list(map(int,codes))
keys = {1:'a',2:'b',3:'c',4:'d',5:'e',6:'f',7:'g',8:'h',9:'i',10:'j'}
decodedlist=[]
for i in codes:
decodedlist.append(keys[codes[i-1]])
decodedstr=''.join(decodedlist)
print(decodedstr)