使用for循环替换dict

时间:2019-10-16 03:43:11

标签: python-3.x dictionary for-loop

试图让用户输入数字并将字典中的键值替换为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 :(得分:0)

等等,您到底想做什么?如果您只想更换钥匙,请使用

dictionary[new_key] = dictionary.pop(old_key)

为什么还要在循环中输入您的输入(第7行)? 您能更好地解释这个问题吗?

答案 1 :(得分:0)

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周围的引号将始终存在,因为它是一个字符串。解释器理解这是一个字符串,因为使用了引号,因此您无法删除它。