Как объединить атрибуты подобных функций в Python

У меня есть текстовый файл, содержащий атрибуты Street и Page. Улицы могут появляться на нескольких страницах, вот пример того, как выглядит мой текстовый файл:

Уличная страница

StreetA 3

StreetA 4

StreetA 5

StreetB 21

StreetB 22

Используя python, я пытаюсь объединить дороги в одну запись с каждой соответствующей страницей для этой дороги, объединенной в один атрибут. Вот пример того, как я хочу, чтобы мой текстовый файл выглядел:

Уличная страница

StreetA 3, 4, 5

StreetB 21, 22

Если кто-нибудь может дать мне какие-то подсказки о том, как это сделать с помощью Python, я был бы очень благодарен

    Вы можете использовать словарь, отображающий названия улиц в списках, например:

    streets = {} for line in records: street, space, page = line.partition(' ') if street not in streets: streets[street] = [] streets[street].append(page) 

    Затем вы можете пройти через словарь и вывести результаты.

    Взгляните на collections.defaultdict :

     import collections streets = collections.defaultdict(list) with open('a_street_page.txt') as f: for line in f: street_name, number = line.split() streets[street_name].append(number) 

    То, что defaultdict делает, вызывает фабрику, заданную ее конструктору, когда вы обращаетесь к ключевому defaultdict , который еще не существует, и назначьте результат этому ключу. Это не позволяет вам проверить, существует ли ключ. Ваш сценарий – именно то, для чего используется defaultdict .