Вы можете сделать один большой «индексный» дикт вместо проверки ключей в отдельных. В моем примере я предположил, что t4 или t8 это dits. если у вас есть DICT t4 = {'t4_1':'value_1', 't4_2': 'value_2'}
и t8 = {'t8_1': 'value_1', 't8_2': 'value_2'}
. Здесь вы не против ценностей. if ind in t4
означает, что вы проверяете ключ ind
в поле t4 dict. dict.from_keys(t4.keys(), 'a')
сделает dict {'t4_1':'a', 't4_2':'a'}'.
dict.update () `просто обновляет все ключи в dict. вот как вы сделаете индекс всех ключей со значениями, которые вам нужны.
В случае, если t4 и t8 являются списками или наборами, да, это достаточно dict.from_keys(t4, 'a')
.
idx = {}
idx.update(dict.fromkeys(t4.keys(), 'a'))
idx.update(dict.fromkeys(t8.keys(), 'b'))
idx.update(dict.fromkeys(nk.keys(), 'c'))
idx.update(dict.fromkeys(mono.keys(), 'd'))
idx.update(dict.fromkeys(b.keys(), 'e'))
truth = [idx.get(ind, 'Other') for ind in df.index.values]
t_ind = df.index.values