Как преобразовать строку в список?

Есть динамическая строка.

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'}
→ Ссылка