1. #内置函数zip(),将多个可迭代对象(集合等)按照顺序进行组合成tuple元祖,放在zip 对象进行存储,;
  2. #当参数为空时候,返回空
  3. #如果 zip() 函数压缩的两个列表长度不相等,那么 zip() 函数将以长度更短的列表为准;
  4. list_t1= [1,2,3]
  5. list_t2 =['apple','orange','banana']
  6. list_t3 = [50,60,70,80]
  7. list_t4 = (500,600,700,800)
  8.  
  9. list_z1 = zip(list_t1,list_t2)
  10. list_z2 = zip(list_t1,list_t2,list_t3)
  11. list_z3 = zip(list_t1,list_t3)
  12. list_z4 = zip(list_t1,list_t3)
  13. list_z5 = zip(list_t1,list_t4)
  14.  
  15. print(type(list_z1)) #<class 'zip'>
  16. print(list(list_z1)) #[(1, 'apple'), (2, 'orange'), (3, 'banana')]
  17. print(list(list_z2)) #[(1, 'apple', 50), (2, 'orange', 60), (3, 'banana', 70)]
  18. print(list(list_z3)) #[(1, 50), (2, 60), (3, 70)]
  19. print(list(list_z5)) #[(1, 500), (2, 600), (3, 700)]
  20.  
  21. #将两个列表转换为字典
  22. dict_from_list = dict(zip(list_t1,list_t2))
  23. print(dict_from_list) #{1: 'apple', 2: 'orange', 3: 'banana'}
  24.  
  25. #map() 根据提供的函数对指定序列做映射;
  26. #参数为map(func,iter,....),返回值为iter;
  27. #计算过程:对序列内的所有元素进行给定的方法计算,将所有计算结果在放到iter 中返回;
  28. #写法上要注意,只要写上方法的名字,不需要带括号之类的;
  29. def squ_minus1(number):
  30. return number ** 2 - 1
  31. tuple_test =(1,2,3,4)
  32. print(type(map(str,tuple_test))) #<class 'map'>,理解为迭代器;
  33. print(list(map(str,tuple_test))) #迭代器取值可以用转成list 或for 循环等;
  34. for v in map(str,tuple_test):
  35. print(v)
  36.  
  37. print(list(map(float,tuple_test))) #[1.0, 2.0, 3.0, 4.0]
  38. print(list(map(squ_minus1,tuple_test))) #[0, 3, 8, 15] ,调用自定义函数
  39.  
  40. #三元运算或三元表达式;
  41. #简单理解:当某个为真返回一个值,如果为假返回另一个,类似于if else;
  42. digtal1,digtal2 = 1,2
  43. if digtal1 > 2:
  44. print(digtal1)
  45. else:
  46. print(digtal2)
  47. #========\\
  48. print(digtal1 if digtal1 > digtal2 else digtal2) # 上面的if else 直接换成这种写法;
  49. #三元表达式对列表的处理
  50. l = [1,2,3,10,20,30]
  51. # 这里是常规写法
  52. l_temp=[]
  53. for i in l:
  54. if i >= 10:
  55. l_temp.append(i ** 2)
  56. print(l_temp)
  57. #这里是三元表达式写法
  58. print(list(v ** 2 for v in l if v >= 10))
  59.  
  60. #lambda 表达式;
  61. #lambda表达式是一行的函数。它们在其他语言中也被称为匿名函数。即,函数没有具体的名称,而用def创建的方法是有名称的。
  62. # 如果你不想在程序中对一个函数使用两次,你可以用lambda表达式;
  63. #表达式用 :分开,左边是参数,右边是返回值,‘:’后只能有一个表达式,lambda函数不能共享给别的程序调用;
  64. #if或for或print等语句不能用于lambda中,因为lambda 只是一个表达式;
  65. def xsqy(x,y,z):
  66. print(x ** y - z)
  67. # 上面的函数可以用下面的表达式替换;
  68. xsqy = lambda x,y,z :x ** y - z #xsqy可以理解为一个函数,后面直接用‘=’左边的当作函数名使用;
  69. print(xsqy(2,3,1))
  1. #推导式
  2. keys = [1,2,3,4]
  3. x = [k for k in keys]
  4. y = [k ** k for k in keys]
  5. z = [k**3 for k in range(10) if k < 5]
  6. print(x)
  7. print(y)
  8. print(z)
  1.  
  1.  
  1.  
  1.  

python 内置函数zip,map,三元,lambda表达式的更多相关文章

  1. Python内置函数之匿名(lambda)函数

    Python内置函数之匿名(lambda)函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.匿名函数 #!/usr/bin/env python #_*_coding:utf ...

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

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

  3. Python 内置函数&filter()&map()&reduce()&sorted()

    常用内置函数 Python 2.x 返回列表,Python 3.x 返回迭代器 在进行筛选或映射时,输出的结果是一个数组,需要list帮助. 如:print(list(map(lambda x:x+1 ...

  4. 内置函数zip,map,even

    内置函数的补充:1.zip:l1 = ['a','b','c','e','f','g']l2 = [1,2,3]l3=['A','B','C']L4=['牛','牛','niu']#zip,就是把俩l ...

  5. Python内置函数filter, map, reduce

    filter.map.reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车. 1. filter函数的功能相当 ...

  6. python基础:内置函数zip,map,filter

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

  7. python内置函数zip

    zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以 ...

  8. Python内置函数(34)——map

    英文文档: map(function, iterable, ...) Return an iterator that applies function to every item of iterabl ...

  9. Python内置函数(40)——map

    英文文档: map(function, iterable, ...) Return an iterator that applies function to every item of iterabl ...

随机推荐

  1. PHP开发中session无法获取和保存问题解决方法

    今天在程序设计中无法在session中获得内容,使用编辑器打开php.ini配置文件,在其中搜索"session.save_path", 把行中前面注释用的";" ...

  2. MySql计算字段的长度

    用户账号有用中文字符,查找所有含有中文字符的账号 SELECT member_name FROM table_member WHERE length(member_name)!=char_length ...

  3. js消除小游戏(极简版)

    js小游戏极简版 (1) 基础布局 <div class = "box"> <p></p> <div class="div&qu ...

  4. Grok Debugger安装配置

    前言:由于使用ELK对日志进行集中管理,grok表达式无法验证是否正确,所以使用Grok Debugger进行调试,但是由于国外网站上不去(http://grokdebug.herokuapp.com ...

  5. OCR文字识别在计算机视觉的重要性、基本技术和最新进展

    [摘要] 主要是文字检测和文字识别作为计算机视觉一部分的重要性,基本知识,面临的挑战,以及部分最新的成果. 人类认识了解世界的信息中91%来自视觉,同样计算机视觉成为机器认知世界的基础,也是人工智能研 ...

  6. luogu P5414 [YNOI2019]排序 |动态规划

    题目描述 对于一个数列{7, 1, 2, 3}进行排序,我们可以把7 从头移动到尾.但是这个操作的成本是7,并不是最佳的.最佳的排序方式是将连续的1.2.3 移动到7 的前面.这样的话,总的操作成本就 ...

  7. luogu P1901 发射站

    题目描述 某地有 N 个能量发射站排成一行,每个发射站 i 都有不相同的高度 Hi,并能向两边(当 然两端的只能向一边)同时发射能量值为 Vi 的能量,并且发出的能量只被两边最近的且比 它高的发射站接 ...

  8. JMeter 实用插件配置

    插件下载地址:链接 观察实时TPS,TRT,多用户负载图. 将 jpgc-graphs-dist-2.0.zip 解压缩至jmeter下的lib目录下,重启jmeter Transactions pe ...

  9. 开发中遇到的一些bug及解决方案

    一.在使用UIStackView时报“UIStackView before iOS 9.0”.

  10. nbuoj2784 倒水

    题目:http://www.nbuoj.com/v8.83/Problems/Problem.php?pid=2784 一天,TJ买了N个容量无限大的瓶子,开始时每个瓶子里有1升水.接着TJ决定只保留 ...