Rumah  >  Soal Jawab  >  teks badan

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`

请各位大神赐教。

大家讲道理大家讲道理2740 hari yang lalu699

membalas semua(2)saya akan balas

  • 大家讲道理

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

    peta(lambda a,b,c: (a,b,c), nama, umur, negara)

    balas
    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))

    Ralat pertama NoneType adalah untuk objek Tiada, jadi adalah perkara biasa bahawa ia tidak boleh dikeluarkan.
    NoneType ialah jenis untuk objek None, iaitu objek yang menunjukkan tiada nilai Anda tidak boleh menambahkannya pada rentetan atau objek lain.

    Kaedah Python map() nampaknya tidak digunakan dengan cara ini Setahu saya, ia sepatutnya seperti ini.
    Penerangan
    sangat mudah Parameter pertama menerima nama fungsi, dan parameter kedua menerima objek boleh lelaran.
    Syntax
    map(f, iterable)
    pada asasnya bersamaan dengan:
    [f(x) for x in iterable]
    Instance

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

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

    balas
    0
  • Batalbalas