我想解释一下list +='a'
和list=list+'a'
之间的区别。比如说,如果我执行以下操作:
li=[]
for i in 'string':
li+=i
我没有收到错误信息,但是如果使用第二个选项,按照惯例应该是相同的,但会出现错误。
li=[]
for i in 'string':
li=li+i
TypeError: 只能将列表 (list) 与列表相加,不能将字符串 (str) 与列表相加。 正确的做法是像下面这样:
li=[]
for i in 'string':
li=li+[i]
我想知道+=
运算符是如何工作的?它是如何获取列表中的字符串,它会将字符串转换为列表吗?
+=
的返回类型是明确的:它是左操作数的类型。+
的返回类型不清楚。程序员期望list + str
返回一个列表还是字符串? - khelwoodlist
。 - M_S_N