Как правильно разделить строку для создания словаря в Python?Python

Программы на Python
Anonymous
Как правильно разделить строку для создания словаря в Python?

Сообщение Anonymous »

У меня есть две веревки:

"ВЕРХ: хлопок + вышивка (2 метра) \nНИЖНЯ< /em>: Хлопок + однотонное тело (2
Mtr) \nDUPATTA: Шифон + кружево (2 Mtr) \nТИП: Un
Сшитое\nЦВЕТ: Разноцветное \nСОДЕРЖИТ: 1 ВЕРХ НА ПОДКЛАДКЕ, 1 НИЗ и 1 ДУПАТА\nСтрана происхождения: Индия"
и второй:

Ткань верха: хлопковый батист + длина верха: 0-2,00 \nТкань низа:
хлопковый батист + длина низа: 0-2,00\nТкань дупатта: назнин +
длина дупатты: 0-2,00\nТкань подкладки: хлопковый батист\nТип: непрошитый\nУзор : Напечатано\nМультиупаковка: 3 Вверх\nСтрана происхождения:
Индия"

Мне нужно создать словарь Python из этих двух строк, но с ключами, которые стоят перед двоеточием
Например, в строке один ключи будут

ВЕРХ,НИЗ,ДУПАТТА,ТИП,ЦВЕТ,СОДЕРЖИТ,СТРАНА ПРОИСХОЖДЕНИЯ

и в второмКнопки будут

Ткань верха, Ткань низа, Длина верха, Длина низа, Дупатта
Ткань, Длина Дупатта, Подкладка Ткань,Тип,Узор,Группа,Страна
Происхождение

До сих пор я использовал

Код: Выделить всё

keys = ["Top Fabric","Bottom Fabric","Dupatta Fabric","Lining Fabric","Type","Pattern","Multipack","TOP ","BOTTOM ","  DUPATTA ","COLOUR ","CONTAINS ","TYPE ","Country"]

pattern = re.compile('({})\s+'.format(':|'.join(keys)))
newdict = dict(zip(*[(i.strip() for i in (pattern.split(desc.replace("*",""))) if i)]*2))
но он не работает с первой строкой, а во второй строке не создаются все ключи и значения.

Подробнее здесь: https://stackoverflow.com/questions/679 ... -in-python

Вернуться в «Python»