我需要从std输入中读取一些字符串并将它们存储在列表中。首先,我尝试了这段代码,效果很好
n = int(input("Enter the N : "))
list1 = []
for i in range(n):
list1.append(input(f"Enter the String-{i+1}: "))
print(list1)
但是我想到了如果使用+
运算符来连接列表和给定的输入String的结果,就像下面的代码一样:
a = []
n = int(input())
for i in range(n):
a = a + input()
print(a)
但是这导致了TypeError
,响应为:
a = a + input()
TypeError: can only concatenate list (not "str") to list
但是,当我使用+=
运算符代替+
运算符时,字符串的字符一次被追加到列表一,而不会产生上述错误。该部分的代码是:
a = []
n = int(input("Enter the number of input strings: "))
for i in range(n):
a += input("Enter String: ")
print(a)
输出为:
Enter the number of input strings: 2
Enter String: kcbh
Enter String: jdhf
['k', 'c', 'b', 'h', 'j', 'd', 'h', 'f']
为什么会这样?