找回密码
 立即注册
首页 业界区 安全 序列解包

序列解包

颜清华 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:    
  1. info = "guohan|123|20"
  2. name,pwd,age = info.split("|")
  3. a = {"Name":name,"Pwd":pwd,"Age":age}
  4. print(a)
  5. >>>{'Name': 'guohan', 'Pwd': '123', 'Age': '20'}
复制代码
列表元组解包:
  1. # 列表解包
  2. data = [10, 20, 30]
  3. a, b, c = data
  4. print(a)  # 输出: 10
  5. print(b)  # 输出: 20
  6. print(c)  # 输出: 30
  7. # 元组解包
  8. info = ("Alice", 25, "Engineer")
  9. name, age, job = info
  10. print(name)  # 输出: Alice
  11. print(age)   # 输出: 25
  12. print(job)   # 输出: Engineer
复制代码
字符串解包:
  1. text = "ABC"
  2. x, y, z = text
  3. print(x)  # 输出: A
  4. print(y)  # 输出: B
  5. print(z)  # 输出: C
复制代码
解包时忽略部分元素:如果只需要序列中部分元素  可以用_进行占位忽略掉部分元素
  1. data = [1, 2, 3, 4, 5]
  2. first, _, third, _, fifth = data
  3. print(first)  # 输出: 1
  4. print(third)  # 输出: 3
  5. print(fifth)  # 输出: 5
复制代码
解包不定长度的序列:用*捕获多个元素(会被打包成列表),其余元素按顺序赋值
  1. # 捕获前两个元素,剩余元素给 rest
  2. numbers = [1, 2, 3, 4, 5]
  3. a, b, *rest = numbers
  4. print(a)    # 输出: 1
  5. print(b)    # 输出: 2
  6. print(rest) # 输出: [3, 4, 5]
  7. # 捕获中间元素
  8. data = ["Alice", 25, "Engineer", "New York"]
  9. name, *details, city = data
  10. print(name)    # 输出: Alice
  11. print(details) # 输出: [25, "Engineer"]
  12. print(city)    # 输出: New York
复制代码
 

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

相关推荐

4 天前

举报

感谢分享,下载保存了,貌似很强大
您需要登录后才可以回帖 登录 | 立即注册