во время печати, как пропустить значение, которое не в dict - PullRequest
1 голос
/ 06 марта 2012

У меня есть dict

x={'a':[1,'inr','in-gaap'],'b':[2,'','in-gaap'],'c':[3,'inr','']}

, из которого я печатаю вот так:

for key,values in x.iteritems():
    print 'value:{0}ref:{1}pre:{2}'.format(x[key][0],x[key][1],x[key][2])

Это печать

value:1 ref:inr pre:in-gaap
value:2 ref:    pre:in-gaap
value:3 ref:inr pre:

Но что я хочу в выводеis

value:1 ref:inr pre:in-gaap
value:2 pre:in-gaap
value:3 ref:inr 

Для значений, которых там нет, эти значения не должны печататься.Как я могу это сделать?

1 Ответ

4 голосов
/ 06 марта 2012
NAMES = 'value ref pre'.split()
for key, values in x.iteritems():
    valstrs = ['%s:%s' % (name, value)
               for name, value in zip(NAMES, values)
               if value]
    print ' '.join(valstrs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...