Python словарь переименовать ключ и группу - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь переименовать некоторые ключи и сгруппировать значения для сгруппированных ключей.Мой контент выглядит следующим образом:

text_image_old = {10_pdf 10_pdf0: "some text", 10_pdf 10_pdf1: "more text", 10_pdf 10_pdf2: "even more text"}

Используя регулярное выражение, я могу итеративно заменить имена, так что останется только 10_pdf, но из-за цикла текст будет просто содержать значения, даже больше текста"(например, последнее значение):

text_image_new =  {re.sub('[a-zA-Z0-9_]+.pdf[0-9]', '', k): v for k, v in text_image_old.items()} 

Как мне заменить ключи и сгруппировать значения?Спасибо!

Редактировать: ожидаемый результат должен выглядеть следующим образом

text_image_new = {10_pdf :"some text" "more text" "even more text"}

или, если его проще получить:

text_image_new = {10_pdf :"some text more text even more text"}

1 Ответ

0 голосов
/ 15 ноября 2018

Я надеюсь, что это сработает для вас или хотя бы поможет решить вашу проблему:

text_image_old = {'10_pdf 10_pdf0': "some text", '10_pdf 10_pdf1': "more text",\
                  '10_pdf 10_pdf2': "even more text"}

new_dict = {}
for k, v in text_image_old.items():
    k = k.split(' ')[0]
    if k in new_dict:
        new_dict[k] += v + ' '
    else:
        new_dict[k] = v + ' '

print(new_dict)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...