Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 17, 2011 09:38:10

pyhappy
От: Moscow/Russia
Зарегистрирован: 2011-11-13
Сообщения: 22
Репутация: +  0  -
Профиль  

List ( zip (L1, L2) ) - не работает в Python 3.2

Добрый день!

Почему не работает код
Пример из учебника Луца, стр 411

L1=[1,2,3,4]
L2=[5,6,7,8]

x=list(zip(L1,L2))
print(x)
Должен дать результат а
мне пишет TypeError: ‘list’ object is not callable

Офлайн

#2 Дек. 17, 2011 09:41:44

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

List ( zip (L1, L2) ) - не работает в Python 3.2

Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)

In [1]: a = [1,2,3,4]

In [2]: b = [5,6,7,8]

In [3]: c=zip(a,b)

In [4]: c
Out[4]: [(1, 5), (2, 6), (3, 7), (4, 8)]

In [5]: d=list(zip(a,b))

In [6]: d
Out[6]: [(1, 5), (2, 6), (3, 7), (4, 8)]

Отредактировано (Дек. 17, 2011 09:43:08)

Офлайн

#3 Дек. 17, 2011 09:58:56

pyhappy
От: Moscow/Russia
Зарегистрирован: 2011-11-13
Сообщения: 22
Репутация: +  0  -
Профиль  

List ( zip (L1, L2) ) - не работает в Python 3.2

Я так понимаю проблема именно в Питон 3.2 - далее краткая выдержка из книги: вообще в 3.0 поменяли действие zip - оно стало выдавать итератор, поэтому его нужно оборачивать list, как в примере выше. Но пример на Питон 3.2 не работает в этом и вопрос

Офлайн

#4 Дек. 17, 2011 10:05:14

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

List ( zip (L1, L2) ) - не работает в Python 3.2

а если использовать полученное от zip в качестве конструктора списков?

c = [a for a in zip(L1, L2)]
print(c)

Офлайн

#5 Дек. 17, 2011 10:52:55

Nik
От:
Зарегистрирован: 2010-01-10
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

List ( zip (L1, L2) ) - не работает в Python 3.2

В Python 3.2.0 работает без проблем:

Python 3.2 (r32:88445, Feb 20 2011, 21:29:02) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> L1=[1,2,3,4]
>>> L2=[5,6,7,8]
>>> list(zip(L1,L2))
[(1, 5), (2, 6), (3, 7), (4, 8)]



Офлайн

#6 Дек. 17, 2011 14:56:57

pyhappy
От: Moscow/Russia
Зарегистрирован: 2011-11-13
Сообщения: 22
Репутация: +  0  -
Профиль  

List ( zip (L1, L2) ) - не работает в Python 3.2

Всем спасибо. Видимо у меня что-то глючило, тк сейчас работают оба варианта

x=list(zip(L1,L2))
print(x) >>>>>

c =
print© >>>>>

Офлайн

#7 Дек. 19, 2011 03:40:16

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

List ( zip (L1, L2) ) - не работает в Python 3.2

pyhappy
Всем спасибо. Видимо у меня что-то глючило, тк сейчас работают оба варианта
telepathy On

Я почти уверен, что вы показали только кусок своего кода, а где то в невидимом для нас выше вы переопределили list

telepathy Off



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version