Найти - Пользователи
Полная версия: List ( zip (L1, L2) ) - не работает в Python 3.2
Начало » Python для новичков » List ( zip (L1, L2) ) - не работает в Python 3.2
1
pyhappy
Добрый день!

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

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

x=list(zip(L1,L2))
print(x)
Должен дать результат а
мне пишет TypeError: ‘list’ object is not callable
s0rg
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)]
pyhappy
Я так понимаю проблема именно в Питон 3.2 - далее краткая выдержка из книги: вообще в 3.0 поменяли действие zip - оно стало выдавать итератор, поэтому его нужно оборачивать list, как в примере выше. Но пример на Питон 3.2 не работает в этом и вопрос
s0rg
а если использовать полученное от zip в качестве конструктора списков?
c = [a for a in zip(L1, L2)]
print(c)
Nik
В 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)]
pyhappy
Всем спасибо. Видимо у меня что-то глючило, тк сейчас работают оба варианта

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

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

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

telepathy Off
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB