颜清华 发表于 2025-9-29 18:01:43

序列解包

序列解包:
  格式:变量a,变量b....(多个变量)= 可迭代对象
#迭代器:map(函数,可迭代对象)
案例:  info = "guohan|222|20"  a,b,c = info.split("|")     info.split("|")成为列表:可迭代  将guohan    222    20 赋值给a b c
      比如将info以|分割后的元素变成字典的value:    
info = "guohan|123|20"
name,pwd,age = info.split("|")
a = {"Name":name,"Pwd":pwd,"Age":age}
print(a)
>>>{'Name': 'guohan', 'Pwd': '123', 'Age': '20'}列表元组解包:
# 列表解包
data =
a, b, c = data
print(a)# 输出: 10
print(b)# 输出: 20
print(c)# 输出: 30

# 元组解包
info = ("Alice", 25, "Engineer")
name, age, job = info
print(name)# 输出: Alice
print(age)   # 输出: 25
print(job)   # 输出: Engineer字符串解包:
text = "ABC"
x, y, z = text
print(x)# 输出: A
print(y)# 输出: B
print(z)# 输出: C解包时忽略部分元素:如果只需要序列中部分元素  可以用_进行占位忽略掉部分元素
data =
first, _, third, _, fifth = data
print(first)# 输出: 1
print(third)# 输出: 3
print(fifth)# 输出: 5解包不定长度的序列:用*捕获多个元素(会被打包成列表),其余元素按顺序赋值
# 捕获前两个元素,剩余元素给 rest
numbers =
a, b, *rest = numbers
print(a)    # 输出: 1
print(b)    # 输出: 2
print(rest) # 输出:

# 捕获中间元素
data = ["Alice", 25, "Engineer", "New York"]
name, *details, city = data
print(name)    # 输出: Alice
print(details) # 输出:
print(city)    # 输出: New York 

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

缄戈 发表于 6 天前

感谢分享,下载保存了,貌似很强大

陈兰芳 发表于 前天 21:31

这个有用。

空娅芬 发表于 昨天 10:20

谢谢楼主提供!
页: [1]
查看完整版本: 序列解包