как правильно печатать в 'a' когда цикл 'b' - PullRequest
1 голос
/ 09 марта 2011

это мой код:

a ={
        'power':'力',
        'magic':'魔',
        'skill':'技'
    }
b =['power','wwwww']
for i in b :
    #print getattr(a,i)
    print a[i] or 'default string'

, и он показывает ошибку:

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

как правильно напечатать правильную вещь в 'a', когда цикл 'b', и показать значение по умолчаниюстрока, когда у 'a' ее нет,

спасибо

Ответы [ 3 ]

7 голосов
/ 09 марта 2011

Вы можете использовать .get ()

for i in b:
    print a.get(i, "default string")
3 голосов
/ 09 марта 2011

Вы можете использовать условное выражение :

print a[i] if i in a else 'default string'
0 голосов
/ 09 марта 2011
if i in a:
  st = a[i]
else:
  st = "default string"
print st
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...