标签:comma python list syntax trailing
我很好奇为什么在Python中列表中的尾随逗号是有效的语法,而且似乎Python只是忽略它:
>>> ['a','b',]
['a', 'b']
它的一个元组是有意义的,因为(‘a’)和(‘a’,)是两个不同的东西,但在列表中?
解决方法:
主要优点是它使多行列表更容易编辑,并减少差异的混乱.
更改:
s = ['manny',
'mo',
'jack',
]
至:
s = ['manny',
'mo',
'jack',
'roger',
]
差异只涉及差异的一行变化:
s = ['manny',
'mo',
'jack',
+ 'roger',
]
当省略尾随逗号时,这打败了更令人困惑的多行差异:
s = ['manny',
'mo',
- 'jack'
+ 'jack',
+ 'roger'
]
后一种差异使得更难以看到只添加了一行而另一行没有改变内容.
它还降低了这样做的风险:
s = ['manny',
'mo',
'jack'
'roger' # Added this line, but forgot to add a comma on the previous line
]
并触发implicit string literal concatenation,产生s = [‘manny’,’mo’,’jackroger’]而不是预期的结果.
标签:comma,python,list,syntax,trailing 来源: https://codeday.me/bug/20190916/1807677.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。