Python3.x基础学习-函数用法(二)
2021-02-17 00:18
标签:return lis lam hellip 过滤列表 list 现在 方式 前言 Python为我们提供了丰富的内置函数,现在我们来了解一下常用的函数 Python3.x基础学习-函数用法(二) 标签:return lis lam hellip 过滤列表 list 现在 方式 前言 原文地址:https://www.cnblogs.com/johnsonbug/p/12700103.html前言
内置函数
求商和余数 divmod()
ret = divmod(11,2)
print(ret)
# (5, 1)
求绝对值 abs()
ret = abs(-100)
print(ret)
# 100
求最大值 max()
ret = max(10,20)
print(ret)
# 20
# 其中 iterable 为可迭代对象,max 会 for i in … 遍历一遍这个迭代器,
# 然后将每一个返回值当做参数传给 key=func 中的 func(一般用 lambda 表达式定义),
# 然后将 func 的执行结果传给 key,然后以 key 为标准进行大小的 判断。list1 = [2,1,8,-23,6]
temp = list1[0]
print(max(list1,key=abs))#使用max()函数,找出年龄最大的那组信息
lst = [
[1001,‘zs‘,20], #学号,姓名,年龄
[1002,‘ss‘,25],
[1003,‘ww‘,22],
]
def func(lst):
return lst[:][2]
print(max(lst,key=func))#使用max()函数找出出现次数最多的字符
a = ‘123456789012345225689233‘
print(a.count(‘1‘))
print(max(a,key=a.count))
求最小值 min()
ret = min(10,20)
print(ret)
# 10
传入一个函数和一个可迭代对象 filter(function, iterable)filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成 的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递 给函数进行判断,
然后返回 True 或 False,最后将返回 True 的元素放到新列表中。# 过滤列表中所有偶数
x = [1,2,3,3,4,4,2,6]
def func(n):
return n%2==0
ret = filter(func,x)
print(list(ret))
# [2, 4, 4, 2, 6]#过滤列表中的所有奇数
lst = [1,2,3,4,5,6,7,8,9]
def func(num):
if num%2==1:
return True
else:
return False
ret = filter(func,lst)
print(ret)
#
print(list(ret))
# [1, 3, 5, 7, 9]map(func,iterable)
map(func,iterable)有两个参数,第一个参数是一个函数,第二个参数是可迭代的内容。
函数会依次作用在可迭代内容的每一个元素上进行计算,然后返回一个新的可迭代内容。# 求列表中每个元素的平方值
lst =[1,2,3]
def func(i):
return i*i
ret =map(func,lst)
ret1 = filter(func,lst)
print(list(ret))
# [1, 4, 9]
print(list(ret1))
# [1, 2, 3]
# 求两个列表中元素相加的和
lst1 = [1,2,3,4,5,6,7,8]
lst2 = [2,3,4,5,6]
def func(x,y):
return x+y
ret =list(map(func,lst1,lst2))
print(ret)
# [3, 5, 7, 9, 11]zip(list1,list2)
zip 函数接受任意多个可迭代对象作为参数,将对象中对应的元素打包成一个 tuple, 然后返回一个可迭代的zip对象.
这个可迭代对象可以使用循环的方式列出其元素,若多个可迭代对象的长度不一致,则所返回的列表与长度最短的可迭代对象相同。list1 =[1,2,3]
list2 =[3,2,1]
ret = zip(list1,list2)
print(list(ret))
# [(1, 3), (2, 2), (3, 1)]
# print(tuple(ret))
str1 =‘abc‘
str2 = ‘de1f123‘
ret =zip(str1,str2)
print(tuple(ret))
# ((‘a‘, ‘d‘), (‘b‘, ‘e‘), (‘c‘, ‘1‘))
tup1 = (‘a‘,‘b‘)
tup2 = (‘c‘,‘d‘)
# #生成[{‘a‘:‘c‘},{‘b‘:‘d‘}]
list1=[]
def func(tup):
return {tup[0]:tup[1]}
ret2 = map(func,ret)
print(list(ret2))
# [{‘a‘: ‘c‘}, {‘b‘: ‘d‘}]
文章标题:Python3.x基础学习-函数用法(二)
文章链接:http://soscw.com/index.php/essay/56324.html