python解包赋值
x = [1, 2] a, b = [1, 2] #解包赋值 ,元组可以解包赋值, 列表可以解包赋值,字符串也可以 print(x)#[1, 2] print(a)#1 print(b)#2 c, d, *e = [5, 6, 7, 8, 9] print(c)#5 print(d)#6 print(e)#[7, 8, 9] # 从而引申到循环变量的赋值 stu = {'name':'lfj', 'age':18 } print(stu.items()) #dict_items([('name', 'lfj'), ('age', 18)]) for item in stu.items(): print(item) # ('name', 'lfj') # ('age', 18) # 这里就运用了解包赋值 for key, value in stu.items(): print(key, value) # name lfj # age 18
如果变量少于值的数量,就会报错,这里可以用到*来接收,例如f,*g=[10,11,12]
python变量前加星号
在Python中,将变量前加一个星号(*)可以用于以下几个用途:
1. 展开可迭代对象:
当一个可迭代对象(如列表或元组)作为函数的参数时,可以通过在变量前加星号来展开该可迭代对象,将其元素作为单独的参数传递给函数。
例如:
numbers = [1, 2, 3, 4, 5] print(*numbers) # 输出:1 2 3 4 5
2 .解压可迭代对象:
将一个可迭代对象的元素解压赋值给多个变量时,可以使用星号来接收剩余的元素。
例如:
numbers = [1, 2, 3, 4, 5] first, *rest = numbers print(first) # 输出:1 print(rest) # 输出:[2, 3, 4, 5]
3. 在函数定义时指定可变长度参数:
在函数定义时,可以使用星号来指定一个可变长度参数,即接受任意数量的参数,并将它们作为一个元组传递给函数。
例如:
def print_numbers(*args): print(type(args)) # <class 'tuple'> print(args) # (1, 2, 3, 4, 5) for num in args: print(num) print_numbers(1, 2, 3, 4, 5) # 输出:1 2 3 4 5
4 .解包赋值给函数参数
a = ('lfj', 18) def fun2(name, age): print('姓名:', name)#姓名: lfj print('年龄:', age)#年龄: 18 def fun1(a): # print(type(a)) #<class 'tuple'> # print(a) #('lfj', 18) # print(*a) #lfj 18 fun2(*a) fun1(a)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程