一次为几个字符串项使用.append

时间:2014-08-11 12:35:46

标签: python python-2.7 python-3.x

对于大多数人来说,这可能是一个基本问题,但我无法通过Google搜索找到任何具体信息,也不会在之前提出的任何问题中找到:

我想知道是否可以使用 .append 将几个项目附加到已包含一个项目的列表中,然后使用len()获取所有项目的数字输出。当我按如下方式输入我的代码时:

bag.append('suit', 'shoes', 'socks')

我收到以下错误:

TypeError: append() takes exactly one argument (3 given)

我尝试过如下双括号:

bag.append(('suit', 'shoes', 'socks))

但这会导致len(bag)告诉我bag中只有2个项目(即原始版本和(suit, shoes, socks)。目标数字为4(即原始项目+西装+鞋子+袜子)。

我使用过的唯一成功完成此操作的方法如下:

bag.append('suit')
bag.append('shoes')
bag.append('socks')

当对此运行len(bag)时,我会分别为4个项目获得正确的输出,即 4 (原始项目 bag = [手套] + < strong>'适合' + '鞋子' + '袜子'

3 个答案:

答案 0 :(得分:5)

而不是appendextend

bag.extend(['suit', 'shoes', 'socks'])

参见例如here

答案 1 :(得分:2)

正如TypeError所说,append方法输入只是一个项目,因此任何尝试在同一个呼叫上附加多个项目都将失败。

bag.append(('suit', 'shoes', 'socks))未失败的原因是('suit', 'shoes', 'socks)是一种项目类型tuple

使用此处建议的extend方法或+运算符。

答案 2 :(得分:1)

您可以使用+运算符

一起添加两个列表
>>> l = ['hat', 'coat']
>>> x = l + ['suit', 'shoes', 'socks']
>>> x
['hat', 'coat', 'suit', 'shoes', 'socks']