python - 在 Python 中使用 .append 时,项目会被追加多次。为什么?

标签 python list append

我正在使用 .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

例如,如果我对 kw_1 使用 'apple'kw_2 使用 'pear' 这是返回

['apple', 'apple', 'apple', 'apple', 'apple', 'pear', 'pear', 'pear', 'pear']

这是怎么回事? append 不是解决这个问题的正确方法吗?

最佳答案

这两行:

for kw in kw_1:
    kw_list_1.append(kw_1)

您正在遍历 kw_1,它是一个字符串,因此您的循环体会针对字符串中的每个字符执行一次。循环体将整个字符串 append 到列表中。因此,如果您输入 "apple",您会将 "apple" 添加到列表中五次。 “pear” 将被追加四次。

关于python - 在 Python 中使用 .append 时,项目会被追加多次。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10575139/

相关文章:

python - Python 3 中大于 10^2000 的数字的平方根

c# - 将#id append 到 C# 中的所有 css 类

python - 在python中将不同长度的数组写入csv

python - Docker 容器构建失败 :/bin/sh: 1: flask: not found

python - instance.__dict__ & class.__dict__

c# - 如何在 C# 中对类的 <list> 进行排序?

python - 基于内容重叠合并子列表,python 3

python - “列表”对象不能解释为整数 - 有没有办法将列表转换为整数?

python - 使用 python 循环两个列表,使用一个作为列表列表的索引,另一个作为要 append 的值

jquery - 添加到最后一个标签之前?