использование цикла for для замены значений ключей в dict - PullRequest
0 голосов
/ 16 октября 2019

Попытка позволить пользователю ввести число и заменить значение ключа в dict на X. Вот пример

Size--> 9
key:6
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: X, 7: 7, 8: 8}

Вот что я пробовал:

 dict = {} 
    size=int(input('Size--> '))
    for i in range (size):
        d={i:i}
        dict.update(d)
    for i in range(size):
        testcoor=int(input('key:'))
        if testcoor==i: 
            d1 = {i: 'X'}
            dict.update(d1)
        print(dict)

проблема в том, что i, кажется, не представляет счетчик циклов, и если X заменяется, он идет с кавычкой 'X'. Спасибо заранее.

Ответы [ 2 ]

0 голосов
/ 16 октября 2019
dict = {} 
size=int(input('Size--> '))
for i in range (size):
    d={i:i}
    dict.update(d)

testcoor=int(input('key:'))
dict[testcoor] = 'X'

Это заменяет значение клавиши пользовательского ввода на «X». Я надеюсь, что это то, что вы хотели.

Вывод вышеуказанного кода: enter image description here

Кавычки вокруг X всегда будут присутствовать в виде строки. Интерпретатор понимает, что это строка из-за кавычек, поэтому вы не можете удалить ее.

0 голосов
/ 16 октября 2019

подожди, что именно ты пытаешься сделать? Если вы просто хотите заменить ключ, используйте этот

dictionary[new_key] = dictionary.pop(old_key)

, также почему вы берете свой ввод внутри цикла (строка 7)? Не могли бы вы объяснить проблему лучше?

...