Python从字典中删除一个值而不是键

时间:2016-10-18 09:01:04

标签: python

是否可以从字典而不是键中删除值?例如, 我有以下代码,其中用户选择与他想要删除它的元素对应的键,但我想只删除值而不是键(值是列表):

if (selection == 2):
    elem = int(input("Please select the KEY that you want to be deleted: "))
    if dictionar.has_key(elem):
        #dictionar.pop(elem)
        del dictionar[elem]
    else:
        print("the KEY is not present ")

3 个答案:

答案 0 :(得分:4)

不,这是不可能的。字典由键/值对组成。你没有没有价值的钥匙。您可以做的最好的事情是将密钥的值设置为None或其他一些标记值,或使用更符合您需求的其他数据结构。

答案 1 :(得分:0)

字典是{key:value}对的数据结构。

要使用值,您可以将值替换为其他值或None,如下所示:

dic = {}
e = int(input("KEY to be deleted/replaced: "))    

if dic.has_key(e):
    r = int(input("New value to put in or just press ENTER for no new value"))
    if not r:
       r=None
    dic[e]=r
else:
    print("Key Absent")

答案 2 :(得分:-1)

dictionar = {}
elem = int(input("Please select the KEY that you want to be deleted: "))
if dictionar.has_key(elem)
    dictionar[elem] = ""
else:
    print("The KEY is not present")

此代码检查elem是否在dictionar中,然后将值转换为空白字符串。