繁体   English   中英

Python将多个变量分配给相同的列表值?

[英]Python assigning multiple variables to same list value?

我正在写一个计算日历日期的函数。 在减少线条的同时,我发现我无法将多个变量分配到相同的范围

Jan, Mar, May, Jul, Aug, Oct, Dec = range(1,32)

是否有一种有效的方法来分配这些值,为什么python会给出ValueError?

使用

Jan = Mar = May = ... = range(1, 32)

执行上述操作的最简单方法是使用x=y=z ... = VALUE语法,其中x,y,z和您包含的任何其他变量都将被赋值为VALUE

在您的示例中,等号左侧的所有逗号分隔变量都分配给右侧元组的顺序值。 因此,你可以这样做:

values = ( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec = values

在你的代码中,左边有7个值,右边有31个,所以你得到一个超出范围的错误,因为左边的列表比左边的数字要长,要在其中分配值。 我知道上面的代码与实现目标没有多大关系,但我想我至少会对它试图做的事情有所了解。 :d

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM