zip,map,filter函数

news/2024/7/6 2:47:07 标签: zip, map, filter, Python

zipmapfilter函数生成的可迭代对象均有自己的迭代器,可使用next函数执行迭代操作

1.zip函数

zip函数参数为多个可迭代对象,每次从每个可迭代对象中取一个值组成一个元组,直到可迭代对象中的值取完,生成的zip对象包含了一系列元组。

>>> x=zip((1,2,3),(4,5,6))
>>> x
<zip object at 0x00000000021D2048>
>>> next(x)
(1, 4)
>>> next(x)
(2, 5)
>>> next(x)
(3, 6)
>>> next(x)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration
>>>
>>> x=zip((1,2),'ab',[5,6])
>>> next(x)
(1, 'a', 5)
>>> next(x)
(2, 'b', 6)

2、map函数

map函数用于将函数映射到可迭代对象,对可迭代对象中的每个元素应用该函数,函数返回值包含在生成的map对象中。

>>> x=map(ord,'abc')
>>> x
<map object at 0x00000000021CF908>
>>> next(x)
97
>>> next(x)
98
>>> next(x)
99
>>> list(map(ord,'abc'))        #用map对象生成列表
[97, 98, 99]

3.filter函数

filter函数用指定的函数处理可迭代对象。若函数返回值为真,则对应可迭代对象元素包含在生成的filter对象序列中。

>>> x=filter(bool,(1,-1,0,'ab','',(),[],{},(1,2),[1,2],{1,2},{'a':1}))
>>> x
<filter object at 0x00000000021CF940>
>>> next(x)
1
>>> list(x)     # 将迭代器转换为列表,不包含已迭代的值
[-1, 'ab', (1, 2), [1, 2], {1, 2}, {'a': 1}]



http://www.niftyadmin.cn/n/1519280.html

相关文章

Python函数调用

函数通过函数名加上一组圆括号进行调用&#xff0c;参数放在圆括号内&#xff0c;多个参数之间用逗号分隔。 Python的所有语句都是实时执行的&#xff0c;不存在编译过程。def也是一条可执行语句&#xff0c;定义一个函数。所有函数的调用必须在函数定义之后。 在Python中&…

CentOS6.5卸载open jdk,安装oracle jdk

卸载openjdk 1.查看CentOS6.5自带的JDK是否已经安装 #Java -version 2.查看JDK的信息 #rpm -qa|grep java 3.卸载JDK #rpm -e --nodeps tzdata-java-2013g-1.el6.noarch #rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 #rpm -e --nodeps java-1.6.0-openjd…

Python函数参数注意事项 and 函数列表

1.参数传递与共享引用 >>> def f(x): ... x 100 ... >>> a 10 >>> f(a) >>> a 10 将实参a传给形参x之后&#xff0c;在函数中重新赋值x并不影响到实参a。因为Python中的赋值是建立变量到对象的引用。重新赋值时&#xff0c;意味着形…

CentOS6.5安装mysql

1、检测系统是否自带安装mysql 命令&#xff1a;yum list installed | grep mysql [roothadoop01 /]# yum list installed | grep mysql mysql-libs.x86_64 5.1.71-1.el6 anaconda-CentOS-201311272149.x86_64/6.5 2、删除系统自带的mysql及其依赖 命令&#xff1a…

为什么mysql设置了密码之后,不需要输入密码就可以登录数据库了?

CentOS安装mysql之后&#xff0c;之前设置了密码&#xff0c;但输入mysql -u -p后&#xff0c;会直接进入mysql&#xff0c;而输入mysql -uroot -p&#xff0c;则需要输入密码&#xff0c;这是为什么呢&#xff1f; [roothadoop01 ~]# mysql -u -p Welcome to the MySQL monit…

Centos 6.5更换yum的源为阿里和网易的源

1、本机源所在的目录: /etc/yum.repos.d/&#xff0c;下面是该目录下的文件&#xff0c;注意&#xff1a;在更换之前可以先备份自己的源,防止出错 [roothadoop01 home]# ll /etc/yum.repos.d/ -rw-r--r--. 1 root root 1926 Nov 27 2013 CentOS-Base.repo -rw-r--r--. 1 roo…

fedora将pycharm图标添加到桌面

首先看一下官方给出的安装指南&#xff1a; 1. Unpack the PyCharm distribution archive that you downloaded towhere you wish to install the program. We will refer to this destinationlocation as your {installation home} below.2. Open a console and cd into "…

CentOS 6.5使用源码编译安装httpd服务

httpd是一个开源软件&#xff0c;且一般用作web服务器来使用。目前最流行的web服务器软件叫做httpd&#xff0c; 在早期的http server就叫做apache&#xff0c;到了http server 2.0以后就改名为httpd了。 所以有时候听到apache服务器和httpd服务器其实都是指得是一个意思。 1、…