解压序列赋值给多个变量

p = (4,5)
x, y = p
print(x, y )

结果:
4 5
data = [‘ACME‘,50,91.1,(2018,7,10)]
name,shares,price,date = data
print(name)
print(shares)
print(price)
print(date)

结果:
ACME
50
91.1
(2018, 7, 10)

name,shares,price,(year,mon,day) = data
print(name)
print(shares)
print(price)
print(year)
print(mon)
print(day)

结果:
ACME
50
91.1
2018
7
10

如果变量和序列元素的个数不匹配,会产生一个异常

p = (4,5)
w,x,y = p
print(p)

结果:
   w,x,y = p
ValueError: not enough values to unpack (expected 3, got 2)

解压赋值可以用在任何可迭代对象上面

s = ‘Hello‘
a,s,d,f,g = s
print(a)
print(s)
print(d)
print(f)
print(g)

结果:
H
e
l
l
o

如果只想解压一部分,丢弃其他的值,可以使用任意变量名去占位,到时候丢掉这些变量就行了,但必须保证你选用的占位变量在其他地方没有被使用

data = [‘ACME‘,50,91.1,(2018,7,10)]
_,shares,price,_ = data
print(shares)
print(price)

结果:
50
91.1

原文地址:https://www.cnblogs.com/wanglan/p/9289201.html

时间: 2024-08-07 10:56:57

解压序列赋值给多个变量的相关文章

python 基础知识点 (二) 解压序列赋值给多个变量

问题 现在有一个包含 N 个元素的元组或者是序列,怎样将它里面的值解压后同时赋值给 N 个变量? 解决方案 任何的序列(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量. 唯一的前提就是变量的数量必须跟序列元素的数量是一样的. 代码示例: >>> p = (4, 5) >>> x, y = p >>> x 4 >>> y 5 >>> >>> data = [ 'ACME', 50,

Chapter One:数据结构和算法-解压序列赋值给多个变量

一.问题: 现在有一个包含 N 个元素的元组或者是序列,怎样将它里面的值解压后同时赋值给 N 个变量? 二.解决方案: 代码示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 >>> p = (4, 5) >>> x, y = p >>> x 4 >>> y 5 >>> >>> data = [ 'ACME', 

D20-05 函数闭包 装饰器 06 ..解压序列

框架 #装饰器的框架 import time def timmer(func): #func=test def wrapper(): start_time=time.time() func() #就是在运行test stop_time=time.time() print('运行时间是%s'%(start_time-stop_time)) return wrapper def test(): time.sleep(3) print('test函数运行完毕') test = timmer(test)

python基础-解压序列

解压序列 示例1:左边值必须和右边的值是一一对应的关系,否则会报错 1 >>> a,b,c={1,2,3} #a=1,b=2,c=3 2 >>> a 3 1 4 >>> b 5 2 6 >>> c 7 3 示例2:左边值必须和右边的值是一一对应的关系,否则会报错 1 >>> a,b,c,d,e='hello' #解压序列,左边值必须和右边的值是一一对应的关系,否则会报错 2 >>> a 3 'h'

星形解压序列类型(或iterable可迭代对象类型)总结

一般应用 对于常见的集合类型,如tuple,list,string,files或任何可迭代对象(iterable,iterator,generator等),通常会碰到需要提取集合类型中的一系列元素或单个元素(item)的需求.Python提供了解压集合类型的操作. 通常,在函数中定义返回值时,我们通常可以这么写:return x, y,这种写法其是返回了一个tuple. 那么,比如我们有一个list,data = ['ACME', 50, 91.1, (2012, 12, 21)].我们可以按照

Python3 解压序列

一般情况 x,y,z = 1,2,3 print("x:",x) # x:1 print("y:",y) # y:2 print("z:",z) # z:3 针对元祖 name = ("qiaobushi","wanglihong","leibushi") x,y,z = name print(name) print("x:",x) print("y:&qu

解压序列

一个列表或者元组(只要是序列形式都可以)取出元素,取头和取尾不用索引的方式: l1 = [1,2,3,4,5,6,7] a,b,c,d,e,f,g,h = l1 这样a和h就是我们所需要的值,但是如果序列比较怎么办呢? 解法如下 l1 = [1,2,3,4,5,6,7] a,*_,h = l1 两个变量交换值的方法 a = 1 b = 2 x = a a = b b = x f1 =1 f2 =2 f1,f2 = f2,f1

Python学习-解压可迭代对象赋值给多个变量

解压序列赋值给多个对象 任何的序列(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量.唯一的前提就是变量的数量必须跟序列元素的数量是一样的. >>> data = ['abcd','a',1,2,(3,4)]>>> a,b,c,d,e = data>>> a,b,c,d,e('abcd', 'a', 1, 2, (3, 4))>>> a,b,c,d,(e,f) = data>>> f4>>

解压版tomcat配置

1,新建变量名:CATALINA_BASE,变量值:E:\apache-tomcat-6.0.41(tomcat的解压路径) 2,新建变量名:CATALINA_HOME,变量值:E:\apache-tomcat-6.0.41 3,打开PATH,添加变量值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin; 4,在CMD命令下输入命令:startup,显示如下即表示服务启动成功. 解压版tomcat配置,布布扣,bubuko.com