我正在寫一個函數來計算日曆日期。雖然削減線路,我發現我無法分配多個變量到相同的範圍。Python將多個變量分配給相同的列表值?
Jan, Mar, May, Jul, Aug, Oct, Dec = range(1,32)
會有一個有效的方式來分配這些值,爲什麼python會給ValueError?
我正在寫一個函數來計算日曆日期。雖然削減線路,我發現我無法分配多個變量到相同的範圍。Python將多個變量分配給相同的列表值?
Jan, Mar, May, Jul, Aug, Oct, Dec = range(1,32)
會有一個有效的方式來分配這些值,爲什麼python會給ValueError?
做你所描述的是使用的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
謝謝,那正是我想知道的,並且對我的後續問題非常有意義。所以它很好地分配:a,b,c =範圍(3) – tijko
是否有任何理由你不使用日期時間模塊? http://docs.python.org/library/datetime.html – robert