Форум сайта python.su
Что-то застрял на очень простой проблеме.
Нужно найти в tuple
CATEGORY_CHOICES = (
('lift', u'Лифт'),
('eks', u'Экскалатор'),
('pod', u'Подъемник'),
)
for a,q in CATEGORY_CHOICES:
if a == self.args[0]:
context['category'] = q
Офлайн
>>> CATEGORY_CHOICES = (
... ('lift', u'Лифт'),
... ('eks', u'Экскалатор'),
... ('pod', u'Подъемник'),
... )
...
>>> if ('eeee', u'eee') in CATEGORY_CHOICES:
... print 'ok'
... else:
... print 'no'
no
>>> if ('lift', u'Лифт') in CATEGORY_CHOICES:
... print 'ok'
... else:
... print 'no'
ok
Офлайн
sp3То же самое и сделали.>>> CATEGORY_CHOICES = (
... ('lift', u'Лифт'),
... ('eks', u'Экскалатор'),
... ('pod', u'Подъемник'),
... )
...
>>> if ('eeee', u'eee') in CATEGORY_CHOICES:
... print 'ok'
... else:
... print 'no'
no
>>> if ('lift', u'Лифт') in CATEGORY_CHOICES:
... print 'ok'
... else:
... print 'no'
ok
Офлайн
CATEGORY_CHOICES = (
('lift', u'Лифт'),
('eks', u'Экскалатор'),
('pod', u'Подъемник'),
)
def foo(cat):
tmp = dict(CATEGORY_CHOICES)
return tmp.get(cat, None)
print foo('lift')
Офлайн
>>> CATEGORY_CHOICES = (('lift', u'Лифт'),
... ('eks', u'Экскалатор'),
... ('pod', u'Подъемник'))
>>>
>>> try:
... print dict(CATEGORY_CHOICES)['lift']
... except KeyError:
... pass
...
Лифт
>>>
Офлайн
Возможно, я что-то упускаю, но исключение тут не очень красивое решение.
Мутантик из вашего и предыдущего решения - dict(CATEGORY_CHOICES).get(key, default)
Офлайн
так лучше, но try … except тоже нужно знать
Офлайн