码迷,mamicode.com
首页 > 编程语言 > 详细

Python3.x基础学习-函数用法(二)

时间:2020-04-14 22:50:55      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:return   lis   lam   hellip   过滤列表   list   现在   方式   前言   

前言

  Python为我们提供了丰富的内置函数,现在我们来了解一下常用的函数

 

内置函数

 

求商和余数 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)
# <filter object at 0x000002D15EC4F9B0>
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基础学习-函数用法(二)

标签:return   lis   lam   hellip   过滤列表   list   现在   方式   前言   

原文地址:https://www.cnblogs.com/johnsonbug/p/12700103.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!