Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-未找到时更改查找到的字典键_Python_Python 3.x_Dictionary_Iteration - Fatal编程技术网

Python-未找到时更改查找到的字典键

Python-未找到时更改查找到的字典键,python,python-3.x,dictionary,iteration,Python,Python 3.x,Dictionary,Iteration,以以下为例: dict = {'1': 'A', '2': 'B', '3': 'C', '44': 'D', '555': 'E'} code = '12344555' i = 0 while i < len(code): try: print(dict[code[i]]) i += 1 except KeyError: print(dict[code[i] + code[i]]) i += 2 dic

以以下为例:

dict = {'1': 'A', '2': 'B', '3': 'C', '44': 'D', '555': 'E'}

code = '12344555'
i = 0

while i < len(code):
    try:
        print(dict[code[i]])
        i += 1
    except KeyError:
        print(dict[code[i] + code[i]])
        i += 2
dict={'1':'A','2':'B','3':'C','44':'D','555':'E'}
代码='12344555'
i=0
而我
我想迭代一段代码,将其与dict进行比较,并返回适当的值,如果找不到键,则应该在向所需值添加额外元素时查看是否可以找到键

我的代码现在适用于ABCD但不适用于E,我可以添加另一个尝试,但这似乎很愚蠢。有更好的办法吗


还有一个附带问题:有没有一种方法可以在while循环构造中指定一个变量(在本例中为i),而不是在前面指定,比如:
whilei(=0)
存储在变量中查找的字符串,然后将代码位附加到它,直到匹配为止

dict={'1':'A','2':'B','3':'C','44':'D','555':'E'}
代码='12344555'
i=0
s=“”
而我

我还想补充一点,使用try/except来控制流量比if/else慢,而且通常被认为是不好的做法

键的长度有限制吗?还是应该一直添加字符直到字符串结束?只要有字符要添加,就应该添加字符。但是Simon Crane提供了一个很好的答案。谢谢大家,了不起的社区。