Форум сайта python.su
0
Всем привет
есть такая конструкция:
tab_gen = [{'personnel':'u_tn'}, {'tabs1':'obj_id'}]
def get_gen_name(table_name): for x in tab_gen: if table_name in x.keys(): return x.values() else: return -1
Отредактировано frostspb (Ноя. 11, 2014 16:07:31)
Офлайн
35
tab_gen = [{'personnel':'u_tn'}, {'tabs1':'obj_id'}] def get_gen_name(key, lst=tab_gen): for dct in lst: if dct.get(key): return dct[key]
>>> print get_gen_name('tabs1') obj_id
Офлайн
0
О, спасибо большое.
Офлайн
33
def find_key(key, lst): for d in lst: if key in d: return d[key] else: raise Exception('key "{}" not found'.format(key))
botinagНекорректная реализация.
Возвращает первый попавший результат или None, если ничего подходящего не найдено.
tab_gen = [{'personnel':'u_tn'}, {'tabs1': None}]
Отредактировано Budulianin (Ноя. 11, 2014 18:10:10)
Офлайн
0
В моей ситуации там у ключа всегда будет значение
Офлайн
33
frostspb
В моей ситуации там у ключа всегда будет значение
tab_gen = [{'personnel':'u_tn'}, {'tabs1': None}]
Отредактировано Budulianin (Ноя. 11, 2014 18:44:56)
Офлайн
0
Значение отличное от None 
Офлайн
35
BudulianinВы правы.
Некорректная реализация.
if dct.get(key):
if key in d:
Офлайн