2017-04-26 23 views
-1

我用一本书的编码,当我有一个像这样的任何名单: cool_peps = ('me, louis, linus')并尝试添加的东西给它,我得到以下错误:在Python中附加错误?

cool_peps = ('me, louis, linus') 
cool_peps.append('sasha') 
Traceback (most recent call last): 
File "<pyshell#4>", line 1, in <module> 
cool_peps.append('sasha') 
AttributeError: 'str' object has no attribute 'append' 

这是什么意思哪有我修理它? 非常感谢!

+1

'cool_peps = ['me','louis','linus']'把它列出来。 – vks

+0

非常感谢大家,我从来没有想过我会很快得到反馈。我现在明白了。对于ChristianKönig,我知道这是非常基本的 - 我说我是编程新手。我很难专注于细节,因为我想尽快学习和理解。尽管谢谢你的回答。 –

回答

0

你没有一个列表,你有一个字符串。

>>> cool_peps = ('me, louis, linus') 
>>> type(cool_peps) 
<class 'str'> 
>>> print(cool_peps) 
me, louis, linus 

为了得到一个列表,使用这样的:

>>> cool_peps_list = ['me', 'louis', 'linus'] 
>>> type(cool_peps_list) 
<class 'list'> 
>>> print(cool_peps_list) 
['me', 'louis', 'linus'] 

>>> cool_peps_list.append('sasha') 
>>> print(cool_peps_list) 
['me', 'louis', 'linus', 'sasha'] 

因为这是很基本的,请回这本书,注重细节。

0

您的第一行有两个问题。括号中的三个名字都是同一个字符串的一部分。首先,你需要将它们分成3个独立的字符串。

cool_peps = ['me', 'louis, 'linus'] 

其次,请注意我还将括号更改为括号。括号表示一个列表,你可以在append之内。括号表示一个元组,它不能被改变。

1

如果您在cool_peps看一看,你会发现它是一个字符串,而不是元组/列表,你可能会想:

>>> cool_peps = ('me, louis, linus') 
>>> cool_peps 
'me, louis, linus' 
>>> type(cool_peps) 
<class 'str'> 

What does this mean and how can I fix it?

AttributeError: 'str' object has no attribute 'append' 

str对象没有一个追加方法/,所以你看到上面的错误。

你可能想要的是一个列表

>>> cool_peps = ['me, louis, linus'] 
>>> cool_peps 
['me, louis, linus'] 
>>> cool_peps.append('sasha') 
>>> cool_peps 
['me, louis, linus', 'sasha'] 

如果要将列表转换为字符串,您可以使用str.join()

>>> ', '.join(cool_peps) 
'me, louis, linus, sasha' 

或使用print()

>>> print(*cool_peps, sep=', ') 
me, louis, linus, sasha 
0

对于字符串浓度口粮,你可以使用+

>>> x = 'me, louis, linus' 
>>> type(x) 
<class 'str'> 
>>> x += ', sasha' 
>>> print(x) 
me, louis, linus, sasha 
>>> 

追加工程名单:

>>> x = ['me, louis, linus'] 
>>> type(x) 
<class 'list'> 
>>> x.append('sasha') 
>>> print(x) 
['me, louis, linus', 'sasha'] 
>>> 

要将列表转换为字符串,还有就是加入()函数:

>>> newStr = ' '.join(x) 
>>> print(newStr) 
me, louis, linus sasha 
>>> type(newStr) 
<class 'str'>