python之解压序列并赋值给变量
N个数量的序列(可迭代对象),赋值给N个变量。
字符串:
1 #!usr/bin/env python3 2 # -*- Coding=utf-8 -*- 3 4 ''' 5 解压序列(或者任何可迭代对象)赋值给多个变量,唯一的前提就是,变量的数量必须跟序列元素的数量一样 6 ''' 7 8 say = "hello" #定义字符串 9 a, b, c, d, e = say #按顺序赋值 10 print(a, b, c, d, e) #打印
元组:
1 #!usr/bin/env python3 2 # -*- Coding=utf-8 -*- 3 4 ''' 5 解压序列(或者任何可迭代对象)赋值给多个变量,唯一的前提就是,变量的数量必须跟序列元素的数量一样 6 ''' 7 p = (4,5) #定义元组p 8 x,y = p #将元组p中的值依次赋给x和y 9 print(x,y) #打印
列表:
1 #!usr/bin/env python3 2 # -*- Coding=utf-8 -*- 3 4 ''' 5 解压序列(或者任何可迭代对象)赋值给多个变量,唯一的前提就是,变量的数量必须跟序列元素的数量一样 6 ''' 7 studentScore = ['Eric', 91, 92, 93, (2020, 6, 29)] #定义列表 8 name, chinese, math, english, date = studentScore #将列表中的各项值分别赋值给name,chinese,math,english,date 9 print(name, chinese, math, english, time) #打印各项值 10 print(type(time)) #打印date类型,tuple 11 #如果将列表中的元组的6换成06,会提示语法错误。 12 year, month, date = time #再次解压列表中的元组,分别赋值 13 print(year, month, date) #打印
元素个数与变量数量不符:
1 #!usr/bin/env python3 2 # -*- Coding=utf-8 -*- 3 4 ''' 5 解压序列(或者任何可迭代对象)赋值给多个变量,唯一的前提就是,变量的数量必须跟序列元素的数量一样 6 ''' 7 p = (4,5) #定义元组 8 x, y, z = p #赋值,会出现错误,因为变量个数和序列元素不匹配 9 #出现ValueError错误
解压一部分元素:
1 #!usr/bin/env python3 2 # -*- Coding=utf-8 -*- 3 4 ''' 5 解压序列(或者任何可迭代对象)赋值给多个变量,唯一的前提就是,变量的数量必须跟序列元素的数量一样 6 ''' 7 #解压一部分,丢弃其他的值,启用占位符 8 studentScore = ['Eric', 91, 92, 93, (2020,6,29)] 9 _, chinese, math, english, _ = studentScore 10 print(chinese, math, english)
收工。