Уведомления

Группа в Telegram: @pythonsu

#1 Май 2, 2010 17:58:19

GamePr0graameR
От:
Зарегистрирован: 2010-05-02
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Преобразование списка unicode -> int

Пытался делать так:

for i in a:
chisl[i] = int(chisl[i])
где а - это кол-во элементов в списке. Не получается. Python пишет, что не может преобразовать unicode в int.
В чём может быть дело?



Офлайн

#2 Май 2, 2010 18:17:51

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Преобразование списка unicode -> int

>>> map(int, chis)

Список элементов в студию (и ошибку покажи, телепатов тут нет). Очевидно, что u'a' не может быть преобразовано к целому, так как эта литера не является числом.

..bw



Отредактировано (Май 2, 2010 18:18:56)

Офлайн

#3 Май 2, 2010 18:22:47

GamePr0graameR
От:
Зарегистрирован: 2010-05-02
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Преобразование списка unicode -> int

Вот значения списков:



Офлайн

#4 Май 2, 2010 18:26:47

GamePr0graameR
От:
Зарегистрирован: 2010-05-02
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Преобразование списка unicode -> int

А ошибка куда-то делась. Вместо неё появилось:

TypeError: 'int' object is not iterable



Офлайн

#5 Май 2, 2010 18:32:08

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Преобразование списка unicode -> int

Сделай как я сказал: map(int, chis)
Полагаю вместо приведенного кода у тебя может быть что-то вроде:

for i in a:
chisl = int(chisl[i])
Вообще, всё ясно из описания ошибки и строки на которую она указывает.
Или, если a это число, то должно быть так:

for i in xrange(a):
chisl[i] = int(chisl[i])
Но лучше используй map, быстрее, да и читается лучше.

..bw



Отредактировано (Май 2, 2010 18:33:13)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version