Python常用知识点 ——常用函数

常用函数

input()
  • 捕获的是最原始的输入,将所 有的输入按照字符串进行处理,并返 回一个字符串
input = input("please input :")
print('你输入的内容是:',input)
Lambda
  • 被用来创建新的函数对象,并且在运行时返回它们
  • 主体是一个表达式,而不是一个代码块,仅仅能在lambda表 达式中封装有限的逻辑进去
  • 函数拥有自己的名字空间,且不能访问自由参数列表之外全局名 字空间里的参数
  • 返回一个函数对象,但这个对象不会赋给一个标识符,而def 则会把函数对象赋值给一个变量(函数名)
  • 像if或for或print等语句不能用于lambda中
  • lambda函数不能共享给别的程序调用,def定义的函数可以

语法
Lambda [arg1,[,arg2,arg3…,argn]

g=lambda x:x+1
print(g(1))
print(g(2))

  • 返回函数对象
def make_repeater(n):
	return lambda s:s*n
twice=make_repeater(2)
print(twice('word'))
print(twice(5))

map

将每个列表元素或字符串都执行某个函数,结果返回列表
语法
map(func,iterable[,iterable])

l=map(int,'123345')
print(list(l))
print(list(map(lambda x:str(x)+'*',list(range(1,5)))))

#多个列表
res=map(lambda x,y:x+y,[2,4,6],[3,2,1])
for i in res:
	print(i)

filter

对序列做过滤处理,就是说可以使用一个自定的函数过滤一个 序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果做过滤。最 终一次性返回过滤后的结果以生成器方式生成

语法
filter(func,s)

list(filter(lambda x:x%2,[1,2,3,4]))   #[1,3]
list(filter(lambda x:True,[1,2,3,4]))  #[1,2,3,4]
list(filter(lambda x:False,[1,2,3,4]))  #[]
''.join(list(filter(lambda x:x>='A' and x <='Z','AaBbCcDd')))
#'ABCD'

sorted()

对列表进行排序
语法
sorted(func=None, key=None, reverse=False(or True))

#对列表排序
l = [2,8,4,1,5,7,3]
sorted(l)
#[1,2,3,4,5,7,8]
# 对元祖排序
student_tuples =[('join','B',15),('tom','C',14),('ann','A',19)]
sorted(student_tuples,key=lambda student:student[1],reverse=True)
#[('tom', 'C', 14), ('join', 'B', 15), ('ann', 'A', 19)]

#对字典排序
d = {'a':1,'b':4,'c':2}
sorted(d.items(),key=lambda x:x[1],reverse=True)
[('b', 4), ('c', 2), ('a', 1)]

reduce

reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组 等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一 个二元操作函数)先对集合中的第1,2个数据进行操作,得到的结果再与第 三个数据用func()函数运算,最后得到一个结果

from functools import reduce
'''
第一次:x:1,y=2
第二次:x:3,y=3
第三次:x:6,y=4
'''
reduce(lambda x,y:x+y,[1,2,3,4]) #10

'''
第一次:x:100,y=1
第二次:x:101,y=2
第三次:x:103,y=3
第三次:x:106,y=4
'''
reduce(lambda x,y:x+y,[1,2,3,4],100) #110
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值