Что является лучшим способом преобразовать интервал, long's, double's к строкам и наоборот в Python.
Я - цикличное выполнение через список и передающий longs к dict, который должен быть превращен в строку unicode.
Я делаю
for n in l:
{'my_key':n[0],'my_other_key':n[1]}
Почему некоторые самые очевидные вещи так сложные?
Вы могли бы сделать это так в Python 2.x:
>>> l = ((1,2),(3,4))
>>> dict(map(lambda n: (n[0], unicode(n[1])), l))
{1: u'2', 3: u'4'}
или в Python 3.x:
>>> l = ((1,2),(3,4))
>>> {n[0] : str(n[1]) for n in l}
{1: '2', 3: '4'}
Обратите внимание, что строки в Python 3 такие же, как строки в Unicode в Python 2.
{{1 }}Вы можете сделать это так
for n in l:
{'my_key':unicode(n[0]),'my_other_key':unicode(n[1])}
Возможно, это будет яснее, если есть только 2 или 3 ключа / значения
for my_value, my_other_value in l:
{'my_key':unicode(my_value),'my_other_key':unicode(my_other_value)}
Я думаю, что было бы лучше, если бы их больше 3 ключа / значения
for n in l:
dict(zip(('my_key','myother_key'),map(unicode,n)))
Для преобразования из числового типа в строку:
str(100)
Для преобразования из строки в int:
int("100")
Для преобразования из строки в float:
float("100")