用这本词典:
class_1 = {'Bob' : [3,4,7],
'Jim' : [4,1,3],
'Greg' : [7,3,9],
'Fred' : [10,5,3],
'Jim' : [3,7,9],
'Jeff' : [2,9,3]}
如何禁止'Jim'
的输入,但允许输入'Jim_2'
等内容?
使用if name in class_1:
不允许输入变体输入,谢谢。
答案 0 :(得分:1)
字典中不允许重复键。当您插入字典时,字典将检查项目是否已经存在,如果是该条目的值将被更新。如果它不存在,它将被添加到字典中。
如果你想禁止输入某些键,你需要编写一个辅助函数来检查项目是否存在,如果是,则不要将更新写入字典。
答案 1 :(得分:0)
如果密钥不在字典中,则以下内容只会添加key: value
对:
if new_name not in class_1:
class_1[new_name] = new_data
答案 2 :(得分:0)
user_input = raw_input("Name: ")
class_1 = {'Bob' : [3,4,7],
'Jim' : [4,1,3],
'Greg' : [7,3,9],
'Fred' : [10,5,3],
'Jim' : [3,7,9],
'Jeff' : [2,9,3]}
if any(user_input.startswith(k) for k in class_1.keys()):
print "Valid input!"
else:
print "Invalid input!"
如果您想获得输入值与字典中的键之间的平均距离(差异),您可以尝试查看fuzzy searching。有一些流行的库专门用于这种字符串比较。