变量的解压

Posted Morron--漠然随笔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了变量的解压相关的知识,希望对你有一定的参考价值。

变量的解压

列表L=[1,2,3,4,5,6],要求将里列表L中每一个值取出,并单独赋给a,b,c,d,e,f。
可以按照传统办法

a=L[0]
b=L[1]
...

可以取,但是如果列表过长,一个一个取值不现实。

pyhon中可以这么取

a,b,c,d,e,f=L
print(a,b,c,d,e,f)

>>>1 2 3 4 5 6

如果赋的值没有和列表一一对应,则会报错‘太多的值没有被解压’

a,b,c=L 
print(a,b,c)

>>>ValueError: too many values to unpack (expected 3)

如果只要前三个数据赋给a,b,c 怎么办?可以用下划线代替不要的值,比如:

a,b,c,_,_,_=L
print(a,b,c)

>>>1 2 3

可以取出前三个值,但是后面的下划线还是太麻烦,怎么办? 可以用星号* 代替,比如

a,b,c,*_=L
print(a,b,c)

>>>1 2 3

取出后三个呢?

*_,a,b,c=L
print(a,b,c)

>>>4 5 6

如下需求
m=10
n=20
让m 和n的值对调,m=20,n=10 如何操作?

m=10
n=20
m,n=n,m
print(m,n)

>>>20 10

以上是关于变量的解压的主要内容,如果未能解决你的问题,请参考以下文章

append() 在这个代码片段中是如何工作的?与特定变量混淆[重复]

Xamarin Android 片段库

使用片段时 Intellij 无法正确识别 Thymeleaf 模型变量

C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段

带有顶点/片段着色器的光。使用不同的变量。 (openGL)

我正在片段中启动我的活动,但变量变为空?