eastlakeside / interpy-zh

📘《Python进阶》(Intermediate Python - Chinese Version)
https://py.eastlakeside.cn
Apache License 2.0
6.45k stars 1.33k forks source link

关于map的返回类型 #23

Closed oudb closed 8 years ago

oudb commented 8 years ago

在4.1Map小节里的"squared = list(map(lambda x: x**2, items))"里的“list”是否多余?因为map返回类型就是list。

e3d7abe2-6a3d-4921-9d19-6e3c20200477
xutaoding commented 8 years ago

你应该在python2.7.x的版本下编码到, map函数在python3.x下返回到是一个迭代器, 那么用list(map(...)), 适用于两个版本

suqi commented 8 years ago

@xutaoding 说的有道理, 这个list确实是专门为了兼容python3

这里如果要改进下代码的话,感觉是不是应该把list放到print中去,因为在print时才需要转换成一个列表来显示。