#元组拆包
基本使用: 平行赋值,即把一个可迭代对象里面的元素,一并赋值给由对应的变量组成的元组中。
使用范围:可迭代对象。
示例:
1、a,b,c,*s = range(10) #s=[3, 4, 5, 6, 7, 8, 9] a = 1,b=2,3=3
*s表示出去明确指定的变量赋值之外的其他值全部由*修饰的变量来接受
2、a = max(*range(10))#9
*表示将元组拆包后元素作为函数的参数值
#嵌套元祖拆包:
示例:
1、a,v,x,(m,*n) = (1,2,3,(4,5,6))
a=1,
v=2,
x=3,
m = 4,
n = [5,6]
2、a,*x,(m,*n) = (1,2,3,(4,5,6))
a= 1,
x=[2,3],
m=4,
n=[5,6],
#具名元组:一个有名字的元组,使用collections模块中的namedtuple函数定义
基本使用:
导入:from collections import namedtuple
变量名= namedtuple(类名,[字段名称用于有效访问元组元素])
定义: Card = namedtuple("Card",["city","address"])
创建元组对象:c = Card("北京","建国门")
访问元组元素: c.city 北京 c.address 建国门
#使用
元组拆包与具名元组的使用:
a=["name","age","sex"]
Info = namedtuple("Info",[*a])
information = Info("lily","23","girl")
information.name #lily
information.age #23
information.sex #girl