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

yipeiwu_com6年前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设计】。

相关文章

Django项目使用CircleCI的方法示例

Django项目使用CircleCI的方法示例

自从认识了 CircleCI 之后,基本上都在用这个了。相比于之前用的travis-ci ,CircleCI 丑是丑了点,但是相比与 travis 有几点好处: CircleCI...

Python网络编程 Python套接字编程

Python网络编程 Python套接字编程

Python 提供了两个级别访问的网络服务。 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法。...

利用pandas读取中文数据集的方法

利用pandas读取中文数据集的方法

直接利用numpy读取非数字型的数据集时需要先进行转换,而且python3在处理中文数据方面确实比较蛋疼。最近在学习周志华老师的那本西瓜书,需要没事和一堆西瓜反复较劲,之前进行联系的时候...

基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)

1、CSV (1)写csv文件 import csv def writecsv(path,data): with open(path, "w") as f: wri...

Python模拟自动存取款机的查询、存取款、修改密码等操作

Python模拟自动存取款机的查询、存取款、修改密码等操作

1.工作流程 2.模拟自动存取款机的操作 代码如下: import msvcrt, sys, os #定义用星号隐藏密码输入的函数 def psw_input(): li =...