为什么Python在列表,元组和字典的末尾允许使用逗号?
如果列表,元组或字典的元素值有很多,那么在编写代码时出于便于阅读代码的需要,会采用一个元素占一行的方式组织代码,如
#列表 [1, 2, 3, ... 100, ] #元组 ('a', 'b', 'c', ... 'z', ) #字典 d = { "A": [1, 2], "B": [3, 4], ... "Z":[9,9], }
这样在编写代码中更容易对元素序列进行编辑,以列表为例:
比如 x = [ "a", "b", "c", "d", ] #可随意的调整每一行元素的上下位置,无需担心调整后每一个元素后面是否有逗号 #也可随意的注释每一行,比如注释最后一行时,而无需手动再删除倒数第二行元素后的逗号
不小心省略逗号会导致难以诊断的错误
x = [ "a", "b" "c", "d" ]
这个列表看起来有四个元素,但实际上包含三个 : "a", "bc" 和 "d" ,总是加上逗号可以避免这个错误的来源
此外,对于元组来说,如果元组里只有一个元素,比如(1,),则必须要保留逗号,目的是为了与(1)进行区分
因为(1)代表单独一个数字1,括号只是用于普通意义上的运算符,而非是仅包含单一数字"1"的元组