我必须检查字符是否在字典中。如果它在那里我必须在变量中分配键的值,否则创建一个具有raw_input值的新键。我写下面的代码,但它不起作用。我必须检查密钥是否在字典中。
例如,我有食物配方数据库。 "油"几乎在所有配方中,所以我不能为所有数据库插入raw_input。所以我想创建一个字典并在那里选择值。
例如,在数据库中,我有100行成分"油"。我将此数据库与另一个数据库匹关键是成分的名称(在这种情况下"油"),价值是特征(玉米油)。每一行都带有键"油"必须具有价值"玉米油"。我可以用字典做这个吗?
dict={}
for item in list:
#if the item is not in the list, I assign new value for a raw_input
if dict.get(item) is None:
dict[item]=value
#if the item is in the list, I assing the previous value
else:
dict[item]=value
你能帮助我吗?
非常感谢你。
答案 0 :(得分:0)
在两种情况下,项目分配都会用新的值替换任何现有值;无需检查密钥是否已存在。
d[key] = value
答案 1 :(得分:0)
我认为这会有所帮助。如果密钥不存在,则分配新值,否则不存在密钥
dict_a={}
for item in list:
if item not in dict_a:
dict[item]= raw_input() #Assign your raw_input value here
#If the value exist, you don't have to do any change
答案 2 :(得分:0)
在我看来,你总是为任何情况做dict [item] = value,如果在字典中存在该项目,那么你必须为字典创建一个新变量,但我不知道您要使用的方法,或者如果密钥已存在,它将是新密钥。
如果你不明白的话,抱歉我的英语很差,写下来吧!
答案 3 :(得分:0)
这个怎么样,
d = {}
if item in d:
d[item] = prev_value
else:
d[item] = new_value
# OR in one line
d[item] = prev_value if item in d else new_value
答案 4 :(得分:0)
一种方法:
dict={}
for item in list:
if item not in dict.keys():
dict[item] = None
dict[item]=value
如果词典的键中没有项目,只需创建一个None
作为起始值。然后,为键指定值(现在你确定它在那里)。
答案 5 :(得分:0)
执行此操作将返回您想要的内容..
dict={}
item = 'key'
if item in dict.keys(): # item will be some key
dict[item]=value
else:
get_key = raw_input('new key name you want:')
dict[get_key] = raw_input('value for corresponding key:')
print 'di',dict
输出:
new key name you want:my_key
value for corresponding key:
di {'my_key': 'val_for_it'}
答案 6 :(得分:0)
检查dict中的项目是否输入()
dict = {}
for item in selection_list:
dict[item] = new_val if item in dict else raw_input()