@flex7r

Как рассортировать строку на словарь?

Есть строка

Name1: Some1 Name2: Some2 Name3: Some3
И так далее

Как его рассортировать на словарь кодом на python?
  • Вопрос задан
  • 162 просмотра
Пригласить эксперта
Ответы на вопрос 3
phaggi
@phaggi
лужу, паяю, ЭВМы починяю
Вот накарябал без регэкспов:
my_string = 'somefalsename Name1: Some1 somesome1 Name2: Some2 Name3: Some3 Name4:'

def dict_from_string(my_string):
    my_list = my_string.split()
    my_dict = {}
    key = ''
    value = ''
    while len(my_list) > 0:
        next_element = my_list.pop()
        if ':' in next_element:
            key = next_element.replace(':','')
            my_dict.update({key: value})
            key = ''
            value = ''
        else:
            value = ' '.join([next_element, value]).strip()
    return my_dict

print(dict_from_string(my_string))
Ответ написан
@bacon
split
Ответ написан
aRegius
@aRegius
Python Enthusiast
import re

keys_values_list = re.split(r'[:\s]\s*', string_data)
keys, values = keys_values_list[::2], keys_values_list[1::2]
dict_data = dict(zip(keys, values))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
iChar Санкт-Петербург
от 120 000 до 180 000 ₽
Яндекс Москва
от 100 000 до 300 000 ₽
28 янв. 2021, в 04:36
5000 руб./в час
28 янв. 2021, в 03:43
2000 руб./за проект
28 янв. 2021, в 02:42
120000 руб./в час