搜尋

首頁  >  問答  >  主體

python3.5 如何用map做出和zip同样的效果?

如下面这段代码,我想把map和zip做出同样的效果

name=['a','b','c']
age=[10,11,12]
nation=['中国','にほん','Deutsch']
U1=list(zip(name,age,nation))
print(U1)
U2=map(None,name,age,nation)
print(list(U2))

可是显示:

[('a', 10, '中国'), ('b', 11, 'にほん'), ('c', 12, 'Deutsch')]
Traceback (most recent call last):
  File "F:/python/PT/program/nine neijian3.py", line 8, in <module>
    print(list(U2))
TypeError: 'NoneType' object is not callable

但是我去掉map里面的None:

U2=map(name,age,nation)
print(list(U2))
    

显示:

   print(list(U2))
TypeError: 'list' object is not callable`

请各位大神赐教。

大家讲道理大家讲道理2862 天前774

全部回覆(2)我來回復

  • 大家讲道理

    大家讲道理2017-04-18 10:21:16

    地圖(lambda a,b,c:(a,b,c),姓名,年齡,國家)

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 10:21:16

    name=['a','b','c']
    age=[10,11,12]
    nation=['中国','にほん','Deutsch']
    U1=list(zip(name,age,nation))
    print(U1)
    U2 = map(lambda a,b,c: (a,b,c), name, age, nation)
    print(list(U2))

    第一個報錯NoneType ,是用於None object,所以不能輸出很正常。
    NoneType is the type for the None object, which is an object that indicates no value. You cannot add it to strings or other objects.

    Python map()方法好像不是你這麼用的,據我了解是應該是這個樣子的。
    描述
    很簡單,第一個參數接收一個函數名,第二個參數接收一個可迭代物件。
    語法
    map(f, iterable)
    基本上等於:
    [f(x) for x in iterable]
    實例

    >>> def add100(x):
    ...     return x+100
    ... 
    >>> hh = [11,22,33]
    >>> map(add100,hh)
    [111, 122, 133]

    http://stackoverflow.com/ques...

    回覆
    0
  • 取消回覆