python3.5 如何用map做出和zip同样的效果?
大家讲道理
大家讲道理 2017-04-18 10:19:16
0
2
749

如下面这段代码,我想把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`

请各位大神赐教。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
大家讲道理

地图(lambda a,b,c:(a,b,c),姓名,年龄,国家)

Ty80
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...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板