欢迎来我Python萌新的小站

Python笔记:序列处理函数

len() : 返回字符串长度

返回 9 ,即为a字符串的长度

max() / min() :返回列表中最大/最小值

返回 85 1

filter() : 过滤不符合要求的数据

filter() 输入一个函数和一个序列,然后将序列中的项目带入函数中计算,保留返回值为True的项目;如果函数为None,保留序列中为true的项目;如果序列为元祖(tuple)或字符串(string),返回相同的类型,否则返回列表类型(list)

返回 [6 , 7 , 8 , 9]

也可以用lambda函数来简化代码:

zip() : 并行遍历

返回 [('tom', 20, '130', 1) , ('zhang', 30, '136', 2)]

因为test列表中只有两个元素,所以zip()根据最短的列表做遍历,因此返回的列表只有两项。

map() : 并行遍历

map()的一个作用和zip()类似:

返回 [('tom', 20, '130', 1) , ('zhang', 30, '136', 2), ('chen', 40, '186', None)]

map()和zip()的区别在于,他会把所有列表的所有元素都遍历出来看,并且对遍历之后的元祖数据进行操作

返回 [(1, 2), (2, 3), (3, 4)]   [2, 6, 12]

reduce() : 递归

将序列中的两个参数作用于函数funtcion中,得出的数据与序列中的下一个数再作用于函数function中,最后递归输出一个单一的值

例如 reduce(lambda x, y: x+y, range(1,6))计算过程为: ((((1+2)+3)+4)+5)

原本的递归使用的是for循环

输出 1+2+3+...+100 = 5050

用reduce()来实现可以做到更加简单

喜欢 (0)分享 (0)
发表我的评论
取消评论
友情提示:插入代码时请使用:  <pre>要插入的代码</pre>   以达到最佳效果!

表情     8 + 9 = ? (必填)

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址