一、zip

zip,就是把俩list,合并到一起,如果想同时循环2个list的时候,可以用zip,会帮你轮流循环两个list
比如:
l1=[1,2,3,4,5]
l2=['a','b','c','d','e']
for a,b in zip(l1,l2):
  print(a,b)
#得到的结果就是
1 a
2 b
3 c
4 d
5 e

如果两个list的长度不一致,则以长度小的为依据

比如:
l1=[1,2,3,4]
l2=['a','b','c','d','e']
for a,b in zip(l1,l2):
  print(a,b)
#得到结果就是
1 a
2 b
3 c
4 d

二、map

循环调用函数

def my(num):
return str(num)
lis = [1,2,3,4,5,6,7,8,9]
res = list(map(my,lis))#map参数第一个是函数名,第二个是要循环的内容,返回结果是个map object地址,所以要用list强制转换下
print(res)#最终会将lis中的内容循环调用my函数,res=['1','2','3','4','5','6','7','8','9']
def my(num1,num2):
return (num1,num2)
lis = [1,2,3,4,5]
lis1=['a','b','c','d']
res = list(map(my,lis,lis1))#map参数第一个是函数名,剩下的是要循环的内容,函数有几个参数,就要写入几个变量,返回结果是个map object地址,所以要用list强制转换下
print(res)#最终会将lis和lis1中的内容循环调用my函数,res=[(1,'a')(2,'b')(3,'c')(4,'d')]

三、filter

filter和map表面上看是一样的,都是循环调用函数,区别在于:filter是带有过滤性的,它会将要循环的内容代入函数后,结果为真的对应的内容返回

def even(num):
if num%2==0:
return True
return False
lis = [1,2,3,4,5,6,7,8,9]
res = filter(even,lis)
print('filter..',list(res)) #filter只保留,返回为真的数据。将lis循环滴入even函数后,能够返回True的lis中的数据,会被打印出来,所以最终结果就是2,4,6,8
#如果改程序用map的话,函数返回什么就会打印什么,最终结果是False,True,False,True.....

python基础:内置函数zip,map,filter的更多相关文章

  1. python基础——内置函数

    python基础--内置函数  一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...

  2. python 内置函数zip,map,三元,lambda表达式

    #内置函数zip(),将多个可迭代对象(集合等)按照顺序进行组合成tuple元祖,放在zip 对象进行存储,: #当参数为空时候,返回空 #如果 zip() 函数压缩的两个列表长度不相等,那么 zip ...

  3. python基础--内置函数map

    num_1=[1,2,10,5,3,7] # num_2=[] # for i in num_1: # num_2.append(i**2) # print(num_2) # def map_test ...

  4. python基础-内置函数详解

    一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highlight=built#ascii ...

  5. Python 内置函数 -- zip(), sorted(), filter()和map()

    内置函数1. zip() 打包(木桶效应)描述: zip() 函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个个元组, 然后返回由这些元组组成的列表语法: zip([iterable, ...

  6. python基础----内置函数----匿名函数(lambda)

    Python3版本所有的内置函数: 1. abs() 获取绝对值 >>> abs(-) >>> abs() >>> abs() >>& ...

  7. Python菜鸟之路:Python基础-内置函数补充

    常用内置函数及用法: 1. callable() def callable(i_e_, some_kind_of_function): # real signature unknown; restor ...

  8. Python基础-内置函数总结

    内置函数 int('123') float() string() tuple() set() dict(name='zdd',age=18) type()#查看类型 len()#看长度,其实是元素的个 ...

  9. python 基础 内置函数 和lambda表达式

    1.把任意数值转化为字符串有两种方法. (1)str()用于将数值转化为易于人读的形式.print(str("我是中国人"))>>>我是中国人 (2)repr() ...

随机推荐

  1. JS学习第一天

    JS的三种引入方式: 内联:在标签属性中引入javascript:js代码    <a href="javascript:("helloworld")"& ...

  2. C#LeetCode刷题之#27-移除元素(Remove Element)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3624 访问. 给定一个数组 nums 和一个值 val,你需要原 ...

  3. Flutter 容器(8) - SizedOverflowBox | OverflowBox

    SizedOverflowBox: 子组件在超出SizedOverflowBox指定的宽高时,不会隐藏,依然进行绘制 OverflowBox: 限制子组件的宽高. import 'package:fl ...

  4. keil 5.29 无法找到 flash的算法文件

    安装5.29之后,发现编译文件可以,但是Debuger下的flash download找不到对应的flash文件 解决, 重新 安装keil5.29时,PACK的目录选择安装在Keil同级目录下的AR ...

  5. 如何通过命令行简单的执行C程序

    如何通过命令行简单的执行C语言编写的程序 ​ 首先,我们知道C语言程序都是以xxx.c结尾的,这在Windows系统和Linux系统都是一样的.其次,C程序的执行过程为四步:预处理--编译--汇编-- ...

  6. windows下mongoDB的下载和安装

    1.进入mongoDB官网,官网地址:https://www.mongodb.com 2.  点击Try free按钮,进入下载页面 3.点击download进行下载:下载完成如下图: 4.点击下载的 ...

  7. MapReduce之MapJoin案例

    @ 目录 使用场景 优点 具体办法:采用DistributedCache 案例 需求分析 代码实现 使用场景 Map Join 适用于一张表十分小.一张表很大的场景. 优点 思考:在Reduce 端处 ...

  8. PAT 2-09. 装箱问题模拟(20)

    题目链接 :http://www.patest.cn/contests/ds/2-09 解题思路:直接模拟, 记录已经使用的箱子的剩余容量, 如果已经使用的箱子中没有可以放下物品的箱子, 在增加另一个 ...

  9. DataGrid样式

    1.自定义列(DataGridTemplateColumn) <DataGridTemplateColumn Width="130"> <DataGridTemp ...

  10. 在我们使用Redis作为一个LRU缓存的时候,怎么做才能更高效

    当用Redis作为一个LRU存储时,有些时候是比较方便的,在你增添新的数据时会自动驱逐旧的数据.这种行为在开发者论坛是非常有名的,因为这是流行的memcached系统的默认行为. LRU实际上只是支持 ...