3 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
主要優(yōu)點(diǎn)是,它使多行列表更易于編輯,并減少了差異。
變更:
s = ['manny',
'mo',
'jack',
]
至:
s = ['manny',
'mo',
'jack',
'roger',
]
僅涉及差異的單行更改:
s = ['manny',
'mo',
'jack',
+ 'roger',
]
當(dāng)省略尾部逗號(hào)時(shí),這擊敗了更令人困惑的多行差異:
s = ['manny',
'mo',
- 'jack'
+ 'jack',
+ 'roger'
]
后者的差異使我們很難看到僅添加了一行,而另一行沒有更改內(nèi)容。
它還降低了這樣做的風(fēng)險(xiǎn):
s = ['manny',
'mo',
'jack'
'roger' # Added this line, but forgot to add a comma on the previous line
]
并觸發(fā)隱式字符串文字串聯(lián),產(chǎn)生s = ['manny', 'mo', 'jackroger']而不是預(yù)期的結(jié)果。

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
這是一種常見的語法約定,允許在數(shù)組中尾隨逗號(hào),C和Java之類的語言允許這樣做,并且Python似乎已對(duì)其列表數(shù)據(jù)結(jié)構(gòu)采用了該約定。在生成用于填充列表的代碼時(shí),它特別有用:只需生成一系列元素和逗號(hào),而無需將最后一個(gè)元素視為特殊情況,并且不應(yīng)該以逗號(hào)結(jié)尾。

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
它有助于消除某種錯(cuò)誤。有時(shí)在多行上寫列表會(huì)更清晰。但是在以后的維護(hù)中,您可能需要重新排列項(xiàng)目。
l1 = [
1,
2,
3,
4,
5
]
# Now you want to rearrange
l1 = [
1,
2,
3,
5
4,
]
# Now you have an error
但是,如果允許使用尾隨逗號(hào),則可以輕松地重新排列行而不會(huì)引起錯(cuò)誤。
添加回答
舉報(bào)