解决Python3下map函数的显示问题

yipeiwu_com7年前Python基础

map函数是Python里面比较重要的函数,设计灵感来自于函数式编程。Python官方文档中是这样解释map函数的:

map(function, iterable, ...)

Return an iterator that applies function to every item of iterable, yielding the results. If additional iterable arguments are passed, function must take that many arguments and is applied to the items from all iterables in parallel. With multiple iterables, the iterator stops when the shortest iterable is exhausted.

即map函数接收的第一个参数为一个函数,可以为系统函数例如float、或者def定义的函数、或者lambda定义的函数均可。

举一个简单的例子,下面这个例子在Python2.7下是可以正常显示的:

ls = [1,2,3]
rs = map(str, ls)
 #打印结果
['1', '2', '3']
lt = [1, 2, 3, 4, 5, 6]
def add(num):
  return num + 1
rs = map(add, lt)
print rs
#[2,3,4,5,6,7]

但是在Python3下我们输入:

ls=[1,2,3]
rs=map(str,ls)
print(rs)

显示的却是:

<map at 0x3fed1d0>

而不是我们想要的结果,这也是Python3下发生的一些新的变化,如果我们想得到需要的结果需要这样写:

ls=[1,2,3]
rs=map(str,ls)
print(list(rs))

这样显示的结果即为我们想要看到的。这一点在《机器学习实战》的第10章中会有一点帮助。

以上这篇解决Python3下map函数的显示问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现RabbitMQ的消息队列的示例代码

最近在研究redis做消息队列时,顺便看了一下RabbitMQ做消息队列的实现。以下是总结的RabbitMQ中三种exchange模式的实现,分别是fanout, direct和topi...

Django实现一对多表模型的跨表查询方法

当有两个表,例如一个学生表,一个班级表,是多对一的关系。 方法1: c = models.Class.object.get(pk=1) #查询到ID为1的班级 stus = mode...

Python Pandas 获取列匹配特定值的行的索引问题

Python Pandas 获取列匹配特定值的行的索引问题

给定一个带有列"BoolCol"的DataFrame,如何找到满足条件"BoolCol" == True的DataFrame的索引 目前有迭代的方式来做到这一点: for i in...

node.js获取参数的常用方法(总结)

1、req.body 2、req.query 3、req.params 一、req.body例子 body不是nodejs默认提供的,你需要载入body-parser中间件才可以使用re...

python中的reduce内建函数使用方法指南

官方解释: Apply function of two arguments cumulatively to the items of iterable, from left to r...