Преобразование типов Python

Что является лучшим способом преобразовать интервал, long's, double's к строкам и наоборот в Python.

Я - цикличное выполнение через список и передающий longs к dict, который должен быть превращен в строку unicode.

Я делаю

for n in l:  
    {'my_key':n[0],'my_other_key':n[1]}

Почему некоторые самые очевидные вещи так сложные?

10
задан Alex Essilfie 4 March 2014 в 07:35
поделиться

3 ответа

Вы могли бы сделать это так в 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 }}
2
ответ дан 3 December 2019 в 13:54
поделиться

Вы можете сделать это так

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)))
0
ответ дан 3 December 2019 в 13:54
поделиться

Для преобразования из числового типа в строку:

str(100)

Для преобразования из строки в int:

int("100")

Для преобразования из строки в float:

float("100")
37
ответ дан 3 December 2019 в 13:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: