提问人:Bhuvana ravula 提问时间:11/1/2023 最后编辑:quamranaBhuvana ravula 更新时间:11/1/2023 访问量:64
你能解释一下下面三个代码吗?为什么它们给出不同的结果
Could you please explain below three codes?, why they are giving different results
问:
代码 1
list_a = []
list_a += str(1)
操作:
['1']
代码 2
list_a = []
list_a += 1
操作:
Type Error
代码 3
list_a = []
list_a = list_a + str(1)
操作:
Type Error
我期望如果运算符允许列表和字符串之间的连接,那么为什么不 int?+=
另外,为什么即使是字符串类型也不允许串联?list = list + str(1)
str(1)
答:
0赞
Suramuthu R
11/1/2023
#1
+= 运算符并不总是加法或串联。 当您尝试使用 += 运算符将字符串添加到列表中时,它会将字符串的每个字符附加为单独的元素。+= 运算符的不同情况如下。另外请记住,不能使用 += 代替 append。因为,使用 +=,它将每个字符附加为一个单独的元素
#case 1
l = []
l += str(1)
print(l) #output : ['1']
#case 2
l = []
l += '1','5','4'
print(l) #output : ['1','5','4']
#case 3
l = []
l += '154'
print(l) #output : ['1','5','4']
#Please note that each character is appended as a separate element in the above case
#case 4
l = ['1','2','3']
l += str(456)
print(l) #output : ['1','2','3','4','5','6']
#case 5
st = 'abc'
st += '123'
print(st) #output : 'abc123'
评论
+=
extend
a += b
a.extend(b)
append
+=
允许添加的值是任何类型的序列。但只允许另一个列表。+
list_a += str(11)