2016-07-17 11 views
-1

変更リストを反復するのは一般的に推奨されませんが、なぜこれは機能しませんか?私はboxesが各反復でforループのエントリをリストしないでください

boxes = [["A1", "A2", "A3", "B1", "B2", "B3", "C1", "C2", "C3"], ["A4", "A5", "A6", "B4", "B5", "B6", "C4", "C5", "C6"], 
    ["A7", "A8", "A9", "B7", "B8", "B9", "C7", "C8", "C9"], ["D1", "D2", "D3", "E1", "E2", "E3", "F1", "F2", "F3"], 
    ["D4", "D5", "D6", "E4", "E5", "E6", "F4", "F5", "F6"], ["D7", "D8", "D9", "E7", "E8", "E9", "F7", "F8", "F9"], 
    ["G1", "G2", "G3", "H1", "H2", "H3", "I1", "I2", "I3"], ["G4", "G5", "G6", "H4", "H5", "H6", "I4", "I5", "I6"], 
    ["G7", "G8", "G9", "H7", "H8", "H9", "I7", "I8", "I9"]] 
{'I8': 3, 'I9': 8, 'D8': 1, 'B8': 9, 'G6': 6, 'I2': 2, 'I3': 6, 'I4': 5, 'I5': 4, 'I6': 9, 'G7': 2, 'E4': 6, 'E5': 3, 'E6': 4, 'E7': 8, 'E1': 9, 'E2': 1, 'E3': 5, 'G2': 5, 'G3': 1, 'G1': 3, 'E8': 2, 'E9': 7, 'G4': 8, 'G5': 7, 'C6': 1, 'C7': 3, 'A2': 3, 'C5': 6, 'A4': 7, 'C3': 9, 'A6': 5, 'C1': 2, 'A8': 8, 'A1': 1, 'D3': 3, 'C8': 7, 'C9': 5, 'H7': 7, 'H6': 3, 'C4': 4, 'H4': 1, 'H3': 8, 'H2': 9, 'H1': 4, 'D2': 7, 'C2': 8, 'A7': 6, 'G8': 4, 'H9': 6, 'H8': 5, 'B1': 5, 'G9': 9, 'A9': 2, 'I1': 7, 'I7': 1, 'F9': 3, 'F8': 6, 'D1': 6, 'D7': 9, 'D6': 8, 'D5': 5, 'D4': 2, 'F1': 8, 'F3': 2, 'F2': 4, 'F5': 1, 'F4': 9, 'F7': 5, 'F6': 7, 'B5': 8, 'B4': 3, 'B7': 4, 'B6': 2, 'H5': 2, 'A3': 4, 'B3': 7, 'B2': 6, 'A5': 9, 'B9': 1, 'D9': 4} 
def display(): 
    for array in boxes: 
     for positions in array: 
      positions = user_dic[positions] 
      print(positions) 
     print(array) 
    print(boxes) 
    print(user_dic) 

表示()

+0

印刷するだけです。あなたは値を変更していません。たぶん、 'positions = user_dic [positions]'の代わりに 'array [positions] = user_dic [positions]'を意味するかもしれません。 –

+0

辞書とは何ですか?それはuser_dictですか? –

答えて

1

positionsを変更するために取得しようとしていますことは単なる文字列です。この時点では、コンテナが属するコンセプトはありません。そして文字列は不変なので、インプレースで変更することはできません。

l = ["A1"] 
for e in l: 
    print(e, type(e)) # A1 <class 'str'> 

コンテナを変更するには、コンテナ自体を参照する必要があります。

l = ["A1"] 
for idx, e in enumerate(l): 
    print(idx, type(idx), e, type(e)) # 0 <class 'int'> A1 <class 'str'> 
    l[idx] = "something" 
print(l) # ["something"] 
関連する問題