dictの古いキーを反復処理しています。私は関数の外側のforループをテストし、目的の結果を達成しましたが、関数に入れると古いキーが返されます。ループは、関数の外部で実行されたときに正しい変更を返し、関数内で実行されたときに変更を表示しません。
フォーラムをトロールしていたが、何も出てこなかった。
edu_dict = {
"A.S":"Attended Vocational/Technical",
"AAS":"Attended Vocational/Technical",...etc}
def clean_edu(edu_dict):
for i in list(edu_dict):
key = i # accesing the key from the edu_dic
lower_case = key.lower() # changing the key to lower case
char_change = "".maketrans(chars_in, chars_out)
clean = lower_case.translate(char_change)
y = re.sub(r'\s\s{1,}','',clean)
edu_dict[y] = edu_dict.pop(i)
return edu_dict
clean_edu(edu_dict)
print(edu_dict)
これは単純な解決策のようですが、私は困惑しています。
これは実行可能なソリューションのようです:http://stackoverflow.com/questions/986006/how-do-i-pass-a-variable-by-reference – pproctor