循环'b'时如何在'a'中打印正确的东西

zjm*_*126 1 python loops

这是我的代码:

a ={
        'power':'?',
        'magic':'?',
        'skill':'?'
    }
b =['power','wwwww']
for i in b :
    #print getattr(a,i)
    print a[i] or 'default string'
Run Code Online (Sandbox Code Playgroud)

它显示错误:

Traceback (most recent call last):
  File "a.py", line 13, in <module>
    print a[i] or 'default string'
KeyError: 'wwwww'
Run Code Online (Sandbox Code Playgroud)

如何在'a'循环'b'时打印正确的东西,并在'a'没有它时显示默认字符串,

谢谢

Jak*_*yer 7

你可以使用.get()

for i in b:
    print a.get(i, "default string")
Run Code Online (Sandbox Code Playgroud)