【发布时间】:2021-09-04 06:46:51
【问题描述】:
我想通过检查它的值与另一个列表的元素是否相等来访问字典的键。
def split(word):
return [char for char in word]
word = '26kk15'
d={'3':['1','2'],'4':['5','6'],'s':['k','l']}
keys=list(d.keys())
l=len(d)
c=0
nl=split(word)
for k in range(0,len(nl)):
for iu in d.values():
for j in iu:
if(j==nl[k]):
print(keys[c])
c+=1
我收到列表索引超出范围错误。 如果我删除外部 for 循环,它会给我输出 3 4 s,而我想要 \n3\n4\ns\ns\n3\n4。
【问题讨论】:
-
仅供参考,您可以使用
list(word)将字符串转换为列表。 -
您将
clen(nl) * len(keys)增加倍。由于它比keys长,因此超出范围。
标签: python python-3.x dictionary