+ =运算符如何一次将输入字符串的字符追加到Python列表中?

时间:2019-02-10 16:07:07

标签: python python-3.x

我需要从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']

为什么会这样?

0 个答案:

没有答案