Если вы действительно хотите, вы можете пересоздать словарь, используя понимание:
new_dict = {('foo', k) : v for k, v in initial_dict.items()}
print(new_dict)
{('foo', 'val_1'): 2, ('foo', 'val_2'): 4}
Для индексации вы теперь используете new_dict[('foo', 'val_1')]
.
Однако, похоже, вы пытаетесь создать многоиндексированный словарь. Почему бы не сделать это вложенным диктом вместо этого?
new_dict = {'foo' : initial_dict}
print(new_dict)
{'foo': {'val_1': 2, 'val_2': 4}}
Теперь вам нужно просто сделать new_dict['foo']['val_1']
, чтобы добиться того же эффекта.
Это намного быстрее и дешевле построить, потому что вы повторно используете то, что у вас уже есть, вместо того, чтобы заново создавать его с нуля.