首页 > 技术文章 > python之解压序列并赋值给变量

mafu 2020-06-29 16:11 原文

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)

收工。

 

推荐阅读