Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 16, 2016 23:07:37

XoFfiCEr
От:
Зарегистрирован: 2011-06-05
Сообщения: 50
Репутация: +  1  -
Профиль   Отправить e-mail  

Изменить кортеж

Запросы к БД в sqlite3 вернули такую структуру:

 [(1, 980, 990, '17.1', '02.12.2014', 1, 'A-12-95'), (2, 1210, 1220, '17.1', '', 1, 'A-78'), (3, 1230, 1240, '17.1', '01.09.2010', 0, 'A-79'), (4, 1280.4, 1290.4, '11.2', '01.09.2010', 0, 'T-78'), (5, 1280.4, 1290.4, '11.2', '', 1, 'T-87'), (6, 1290, 1300, '10.2', '', 0, 'T-86'), (7, 1320.4, 1330.4, '11.2', '', 0, 'T-87'), (8, 1390, 1400, '17.1', '02.12.2014', 0, 'A-12-06'), (9, 2240.4, 2250.4, '17.1', '05.02.2014', 1, 'А-92'), (10, 2470, 2475.2, '17.1', '31.07.2014', 1, 'T-87'), (11, 2560.4, 2570.4, '17.1', '09.12.2015', 1, 'A-05-73'), (12, 2440.4, 2445.6, '17.1', '09.12.2015', 0, 'T-08-86'), (13, 840, 861.2, '12', '12:08:2016', 0, 'проба'), (14, 840, 848.8, '18', '15:08:2016', 1, 'проба'), (15, 1044.8, 1056.4, '16', '15:08:2016', 0, 'проба')]
Судя по скобкам это список кортежей или что то вроде того.
Я кортежи в Питоне вообще не использую кстати, не вижу смысла.
Как то изменить можно чтоб нумерация шла с 0 а не с 1?
т. е. должно быть (0, 980, 990, ‘17.1’, ‘02.12.2014’, 1, ‘A-12-95’) и так далее.



Отредактировано XoFfiCEr (Авг. 16, 2016 23:08:56)

Офлайн

#2 Авг. 17, 2016 01:49:04

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9992
Репутация: +  857  -
Профиль   Отправить e-mail  

Изменить кортеж

XoFfiCEr
Как то изменить можно чтоб нумерация шла с 0 а не с 1?
  
>>> lst = [(1, 980, 990, '17.1', '02.12.2014', 1, 'A-12-95'),
...        (2, 1210, 1220, '17.1', '', 1, 'A-78'),
...        (3, 1230, 1240, '17.1', '01.09.2010', 0, 'A-79'),
...        (4, 1280.4, 1290.4, '11.2', '01.09.2010', 0, 'T-78'),
...        (5, 1280.4, 1290.4, '11.2', '', 1, 'T-87'),
...        (6, 1290, 1300, '10.2', '', 0, 'T-86'),
...        (7, 1320.4, 1330.4, '11.2', '', 0, 'T-87'),
...        (8, 1390, 1400, '17.1', '02.12.2014', 0, 'A-12-06'),
...        (9, 2240.4, 2250.4, '17.1', '05.02.2014', 1, 'А-92'),
...        (10, 2470, 2475.2, '17.1', '31.07.2014', 1, 'T-87'),
...        (11, 2560.4, 2570.4, '17.1', '09.12.2015', 1, 'A-05-73'),
...        (12, 2440.4, 2445.6, '17.1', '09.12.2015', 0, 'T-08-86'),
...        (13, 840, 861.2, '12', '12:08:2016', 0, 'проба'),
...        (14, 840, 848.8, '18', '15:08:2016', 1, 'проба'),
...        (15, 1044.8, 1056.4, '16', '15:08:2016', 0, 'проба')]
>>> 
>>> out = [(i[0] - 1,) + i[1:] for i in lst]
>>> out
[(0, 980, 990, '17.1', '02.12.2014', 1, 'A-12-95'), (1, 1210, 1220, '17.1', '', 1, 'A-78'), (2, 1230, 1240, '17.1', '01.09.2010', 0, 'A-79'), (3, 1280.4, 1290.4, '11.2', '01.09.2010', 0, 'T-78'), (4, 1280.4, 1290.4, '11.2', '', 1, 'T-87'), (5, 1290, 1300, '10.2', '', 0, 'T-86'), (6, 1320.4, 1330.4, '11.2', '', 0, 'T-87'), (7, 1390, 1400, '17.1', '02.12.2014', 0, 'A-12-06'), (8, 2240.4, 2250.4, '17.1', '05.02.2014', 1, 'А-92'), (9, 2470, 2475.2, '17.1', '31.07.2014', 1, 'T-87'), (10, 2560.4, 2570.4, '17.1', '09.12.2015', 1, 'A-05-73'), (11, 2440.4, 2445.6, '17.1', '09.12.2015', 0, 'T-08-86'), (12, 840, 861.2, '12', '12:08:2016', 0, 'проба'), (13, 840, 848.8, '18', '15:08:2016', 1, 'проба'), (14, 1044.8, 1056.4, '16', '15:08:2016', 0, 'проба')]
>>>



Офлайн

#3 Авг. 17, 2016 04:14:41

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Изменить кортеж

XoFfiCEr
изменить кортежи
XoFfiCEr
Я кортежи в Питоне вообще не использую кстати, не вижу смысла.

Смысл кортежа как раз в том что его нельзя изменить. Изменяемые и неизменяемые сущности очень важная концепция в питоне, да и в других языках.

например допустимо
 a={}
a[(1,2)]=3
недопустимо
 a={}
a[[1,2]]=3



Офлайн

#4 Авг. 18, 2016 01:01:37

XoFfiCEr
От:
Зарегистрирован: 2011-06-05
Сообщения: 50
Репутация: +  1  -
Профиль   Отправить e-mail  

Изменить кортеж

doza_and
Я в курсе что кортеж нельзя изменить, но можно же новый создать.



Офлайн

#5 Авг. 18, 2016 01:02:38

XoFfiCEr
От:
Зарегистрирован: 2011-06-05
Сообщения: 50
Репутация: +  1  -
Профиль   Отправить e-mail  

Изменить кортеж

py.user.next
Надо из начального сделать, а не из списка все таки.



Офлайн

#6 Авг. 18, 2016 09:25:56

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9992
Репутация: +  857  -
Профиль   Отправить e-mail  

Изменить кортеж

XoFfiCEr
Надо из начального сделать, а не из списка все таки.
Так это id'шники из самой базы. Уникальные идентификаторы записей в таблице, через них потом записи из разных таблиц сцепляются в составные записи.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version