pagan
Авг. 3, 2011 09:18:56
Здравствуйте. Вопрос такой: почему при выводе элементов списка (числовых) они имеют примерно такой вид: (100L,)?
Enchantner
Авг. 3, 2011 09:28:44
pagan
потому что это числа формата long
pagan
Авг. 3, 2011 12:15:52
А как можно их переконвертировать в другие типы, прямо в списке? Или сделать вывод без скобок и L?
>>> print ‘, ’.join(map(str, mylist))
А вообще требование смешное, очевидно что вы совершенно не в курсе дела. Создаёте кортеж (!), правильно, это не список, с большими целыми числами, а потом такими вопросами сыплите; ну делайте списки с обычными int'ами и будет вам _строковое_представление_ этого объекта как: Ну или разжуйте (как я выше) получившийся (неведомо откуда, кстати) кортеж и выведете его куда требуется.
Кстати, вы будите смеяться, но представление большого целочисленного как строки будет идентично строковому представлению обычного целочисленного: assert str(123) == str(123L)
Смотрим что такое repr, что такое, str, ну и unicode до кучи.
..bw
pagan
Авг. 3, 2011 14:19:10
Этот список - queryset - результат объединенных выборок count(*) в mysql, видать такой у них тип, я не специально :)
Ну логично, возвращается кортеж с результатом запроса, результат это значение числа некой выборки. Так блин делай if myresult == 100 и радуся, ну или print myresult. Тут вообще нет никаких проблем, на первой странице любого учебника по языку должны вопросы элементарных типов и их преобразований рассматриваться.
..bw
pagan
Авг. 3, 2011 17:03:00
нашел решение - в цикле конвертирую элементы списка в строки с помощью str() и снова запихиваю список :) всем спасибо!