我想将变量合并到字典中存在的键中。 下面是规则:Python3中的条件合并
- 如果键已经存在,然后增加一个计数器的值。
- 如果与密钥部分匹配存在: a。如果可变长度小于键,但re.search不是无,则将值计数器增加一个 b。如果可变长度大于键和re.search较大不无,一个
- 如果后此变量存在,但仍然在字典中没有匹配替代由变量,增量计数键,添加变量字典
我已经能够完成1,2a和2b,但我不知道如何添加3.任何帮助/建议将不胜感激。 以下是目前形式的脚本:我还想在字典中看到“乌龟”。
Animals = ["phant", "eleph", "tiger", "turtle", "zebra", "ostrich"]
Dict = {"horse":1, "elephant":1, "iger":1, "ostrich":1}
for name in Animals:
if name in Dict:
Dict[name]=Dict[name]+1
else:
for key, val in Dict.items():
if len(name) < len(key):
m = re.search (name, key)
if m != None:
print ("Found match!", name)
Dict[key] = Dict[key] + 1
break
elif len(name) > len(key):
m = re.search (key, name)
if m != None:
print ("Found match!", name)
Dict[name] = Dict.pop(key) + 1
Dict[name] = Dict[name] + 1
break
为什么啊,你为什么混合缩进级别?你在混合制表符和空格吗?并且(为了解决你正在询问的问题),一个普通的旧“else”怎么样? – inspectorG4dget
当匹配发生时,添加一个'found'标志,该标志最初为'False',并设置为'True'。在'for'循环结尾处,查看'found'是否为'False',然后将键添加到字典中。 –
谢谢Subhasis –