1、range()
range(start=0, stop[, step=1]) 构造器的参数必须为整数(可以是内置的 int 或任何实现了 __index__() 特殊方法的对象)。生成一个start 到stop的数组,左闭右开, 类型表示不可变的数字序列,通常用于在 for 循环中循环指定的次数。
list(range(6))
[0, 1, 2, 3, 4, 5]
list(range(1, 10))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
list(range(0, 15, 5))
[0, 5, 10,]
list(range(0, 10, 3))
[0, 3, 6, 9]
2、zip()
zip() 将多个迭代对象聚合在一个元组中,然后返回它。zip 可以接受任何类型的可迭代对象,例如文件、列表、元组、字典、集合等。
语法:zip(iterable, ...)
numbers = [1,2,3,4]
characters = ['A','B','C','D']
zipped = zip(numbers,characters)
print(zipped) # <zip object at 0x000001F8D8B8B848>
print(list(zipped)) # [(1, 'A'), (2, 'B'), (3, 'C'), (4, 'D')]
print(tuple(zipped)) # (1, 'A'), (2, 'B'), (3, 'C'), (4, 'D')]
zipped_2 = zip(numbers,characters)
n , c = zip(*zipped_2)
print(n) # (1, 2, 3, 4)
print(c) # ('A', 'B', 'C', 'D')
3、map()
map() 函数接收两个参数:函数和迭代对象,并返回一个迭代器,迭代器是函数作用在输入的迭代对象上。
语法:map(func, iterable)
# 求立方
def cube(n):
return n*n*n
numbers = [1,2,3,4,5]
for i in map(cube,numbers):
print(i) # 1 8 27 64 125
#四舍五入
numbers = [1.2324,5.6443,9.4524,6.322]
for i in map(round,numbers):
print(i) # 1 5 10 6
4、 lambda()
Lambda 函数也称为匿名函数,因为它没有函数体并且不需要 def 关键字来定义。Lambda 函数可以有任意数量的参数,但其中只能有一个表达式。表达式计算并返回。它没有返回语句。
语法:lambda [arg1 [,arg2,.....argn]]:expression
#和上个例子一样的效果
cube = lambda x: x*x*x
numbers = [1,2,3,4,5]
for i in map(cube,numbers):
print(i) 输出: 1 8 27 64 125
#便捷用法:
numbers = [1,2,3,4,5]
for i in map(lambda x: x*x*x,numbers):
print(i) # 1 8 27 64 125
5、filter()
filter(function, iterable ) 函数接收两个参数:函数和迭代器,并返回一个迭代器,迭代器是函数作用在输入的迭代对象上为真的值。区别于 map() 函数, filter() 函数接收的函数必须返回 True 或 False, 并且不是返回函数值,而是返回真值位置的输入值。
语法:filter(func, iterable)
numbers = [1,2,3,4,5,6,7,8,9,10]
check_even = lambda x: x%2 == 0 # 判偶数
for i in filter(check_even,numbers):
print(i) # 2 4 6 8 10
6、exec()
该函数用于执行字符串或代码对象,可以动态执行用户输入的表达式、动态执行动态生成的代码块等。但是需要注意安全风险,应该避免执行不可信的代码;因为执行了不安全或未经验证的代码会引起安全隐患, 需要谨慎使用。
示例如下:
exec('print("Hello, World!")')
7、 compile()
用于将字符串形式的源代码编译为代码对象或 AST(抽象语法树)对象。常用于将字符串形式的源代码编译为可执行的代码对象,动态创建并执行代码。例如在动态生成代码时,可以使用 compile() 将字符串编译为可执行的代码对象。
示例如下:
code1 = 'print("Hello, World!")'
com_code = compile(code1, '<string>', 'exec')
exec(com_code)
8、 globals()
我们知道全局变量在局部作用域中只能访问,无法修改。这个函数返回实现当前模块命名空间的字典。对于函数内的代码,这是在定义函数时设置的,无论函数在哪里被调用都保持不变。当然也可以单独回去某一个全局变量的值。
示例如下:
global_var = 10
def test_function():
local_var = 20
print(globals()['global_var'])
test_function()
9、 locals()
返回当前局部符号表的字典,可以用于获取局部变量的值或在局部作用域中执行代码。常用于动态获取局部变量的值,或者在函数内部访问局部变量。
示例如下:
def test_function():
local_var = 20
print(locals())
test_function()
只显示函数内的local_var这个变量:{'local_var': 20}
欢迎评论、交流、点赞、收藏。
标签:map,13,函数,zip,Python,numbers,print,迭代 From: https://blog.csdn.net/m0_59917021/article/details/136742252