python--函数(匿名函数、filter、map等)


# # 函数即变量
# # # count=1
# # # def xiake():
# # # global count
# # # print(count)
# # # print('下课')
# # # count+=1
# # # xiake()
# # # xiake()
#
# # 内置函数
# int
# str
# list
# set
# dict
# tuple
# bool
# type
# len
# input
# print
#
※※zip函数
# zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
'''
>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b) # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c) # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped) # zip 相反,*zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]

'''
# divmod()把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)
# divmod(7, 2)
# (3, 1)
# sum()

# filter
# zfill
# map
# sorted()
# mapfilter的区别
'''
map() 会根据提供的函数对指定序列做映射。
提供了两个列表,对相同位置的列表数据进行相加
map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True False,最后将返回 True 的元素放到新列表中。
'''
enumerae()会自动计算下标,返回下标和值
# l=[12,3,12,2,1,2,35]
# index=0
# for i in l:
# print('%s->%s'%(index,i))
# for index,i in enumerate(l,1):
# print('%s->%s'%(index,i))
# print('请输入你的选择:')

python 使用 lambda 来创建匿名函数。

sum = lambda arg1, arg2: arg1 + arg2
  • lambda只是一个表达式,函数体比def简单很多。
  • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
  • lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
  • 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率



exec('''print(1+1)''')#执行文本,任何可执行的python代码

result=eval('{"code":1,"code1":2}')#执行python代码,只能执行简单的 ,定义数据类型和运算
print(result)

#函数自己调用自己,就是递归
# 递归的最大次数是999
 

猜你喜欢

转载自www.cnblogs.com/znkanchai/p/12898731.html