根據dis,他們都被編譯成相同的位元組碼:
>>> def f1(line):
... a,b,c = line.split()
>>> def f2(line):
... (a,b,c) = line.split()
>>> def f3(line):
... [a,b,c] = line.split()
>>> import dis
>>> dis.dis(f1)
2 0 load_fast 0 (line)
3 load_attr 0 (split)
6 call_function 0
9 unpack_sequence 3
12 store_fast 1 (a)
15 store_fast 2 (b)
18 store_fast 3 (c)
21 load_const 0 (none)
24 return_value
>>> dis.dis(f2)
2 0 load_fast 0 (line)
3 load_attr 0 (split)
6 call_function 0
9 unpack_sequence 3
12 store_fast 1 (a)
15 store_fast 2 (b)
18 store_fast 3 (c)
21 load_const 0 (none)
24 return_value
>>> dis.dis(f3)
2 0 load_fast 0 (line)
3 load_attr 0 (split)
6 call_function 0
9 unpack_sequence 3
12 store_fast 1 (a)
15 store_fast 2 (b)
18 store_fast 3 (c)
21 load_const 0 (none)
24 return_value
所以他們都應該有同樣的效率。對於大多數pythonic來說,這是有點偏向於意見,但我會贊成第二個選擇的第乙個或(在較小程度上)。使用方括號是令人困惑的,因為看起來你正在建立乙個列表(儘管事實證明你不是)。
python分配問題 Python增加分配問題
對於運算子,python定義了乙個物件可以實現的三個 特殊 方法 add 新增兩個專案 運算子 當你做乙個b時,a的 add 方法用b作為引數來呼叫.radd reflect add 對於b,b的 radd 方法作為乙個例項被呼叫.這僅在不知道如何做新增和兩個物件是不同型別時才使用.iadd 就地新...
python分配 確定值的分配Python
以下是您修改後的問題的答案,即如何新增要求每個員工連續工作時間段的約束。在 我建議您新增以下約束 此處以代數方式編寫 x t 1,p x t,p 1 1 t sum x s,p for all p,for all t t 其中x是您的staffed變數 這裡寫為x表示緊湊性 t是時間索引,t是時間段...
python隨機分配 python 隨機分類
encoding utf 8 import pandas as pd import numpy as np from sklearn import datasets,linear model from sklearn.metrics import roc curve,auc import pylab...