在Python中使用.append项时会多次附加.为什么?

Ale*_*lex 1 python list append

.append用来填充一个带有字符串的空列表,但我的项目被多次追加.在第一个字符串附加5次后,第二个字符串附加4次.为什么会这样?

这是我正在使用的代码

kw_list_1 = []


def add_kw():
    kw_1 = raw_input('enter your first keyword - ')

    for kw in kw_1:
        kw_list_1.append(kw_1)


    kw_2 = raw_input('enter second keyword - ')

    for kw2 in kw_2:
        kw_list_1.append(kw_2)

    print kw_list_1
Run Code Online (Sandbox Code Playgroud)

例如,如果我用'apple'kw_1,并'pear'kw_2这个返回

['apple', 'apple', 'apple', 'apple', 'apple', 'pear', 'pear', 'pear', 'pear']
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?附加不是正确的方法来解决这个问题吗?

Ned*_*der 9

这两行:

for kw in kw_1:
    kw_list_1.append(kw_1)
Run Code Online (Sandbox Code Playgroud)

您正在循环kw_1,这是一个字符串,因此您的循环体将为字符串中的每个字符执行一次.循环体将整个字符串附加到列表中.因此,如果您输入"apple",您将"apple"五次附加到列表中. "pear"将被附加四次.