Как преобразовать строку в список?
Есть динамическая строка.
russia:moscow,20:45,dog:cat
Хочу передавать эту строку в post-параметр. Как я понимаю строку надо преобразовать в список. С помощью .split() не получается
r = requests.get(url, params={'russia': moscow, '20':45, 'dog':cat})
Ответы (2 шт):
Автор решения: Zhihar
→ Ссылка
если бы ваша строка была бы такой:
"russia":"moscow","20":45,"dog":"cat"
тогда бы вам подошла библиотека json:
import json
text = '"russia":"moscow","20":"45","dog":"cat"'
data = json.loads("{" + text + "}")
print(data)
Но если у вас конкретно строки такого вида как вы привели, то небольшими преобразованиями (дописыванием кавычек) вы сможете превратить их в строки нужного формата для json.loads
Автор решения: Pavel Durmanov
→ Ссылка
In [36]: s = "russia:moscow,20:45,dog:cat"
In [37]: dict([x.split(":") for x in s.split(",")])
Out[37]: {'russia': 'moscow', '20': '45', 'dog': 'cat'}