在python中追加一个字符串

时间:2017-09-10 13:16:16

标签: string python-3.x append

为什么即使字符串实际上是字符常量列表,此语句也会产生错误?

string_name=""  
string_name.append("hello word")  

我认为这是真的原因是因为当我们使用for循环时,我们可以使用这个语句 -

for string in string_name:
    ......

我认为string_name被视为此处的列表

2 个答案:

答案 0 :(得分:6)

这就是他们在算法和数据结构类中教给你的东西,他们在Python中处理算法语言(不真实)而不是真正的编程语言,字符串是字符串,列表是列表,它们是不同的对象,你可以使用所谓的字符串连接(基本上是对字符串的附加操作)“追加”到字符串:

string_name = "hello"  
string_name = string_name + " world"
print(string_name) # => "hello world"

或简写串联:

string_name = "hello"
string_name += " world"
print(string_name) # => "hello world"

列表和字符串属于此类型,称为iterableiterable就像它们的名字所示,迭代,意味着你可以用关键词in迭代它们,但这并不意味着它们是同一类型的对象:

for i in '123': # valid, using string
for i in [1, 2, 3]: # valid, using list
for i in (1, 2, 3): # valid, using tuple
for i in 1, 2, 3: # valid, using an implicit-tuple
# all valid, all different types

我强烈建议您阅读Python Documentation和/或Python's Tutorial

来自文档词汇表:

  

可迭代
  能够一次返回其成员的对象。迭代的示例包括所有序列类型(例如list,str和tuple)和一些非序列类型,如dict,文件对象,以及使用__iter __()或__getitem __()方法定义的任何类的对象。 Iterables可用于for循环以及需要序列的许多其他地方(zip(),map(),...)。当一个可迭代对象作为参数传递给内置函数iter()时,它返回该对象的迭代器。这个迭代器适用于一组值的一次传递。使用iterables时,通常不需要调用iter()或自己处理迭代器对象。 for语句会自动为您执行此操作,创建一个临时的未命名变量,以便在循环期间保存迭代器。另请参见迭代器,序列和生成器。   有关iterables的更多信息。

答案 1 :(得分:-1)

Error is given when u try to append strings.So better first take list and then convert list to string.Code :

               n='qwerty'
               for i in range(1):
                   temp=[]
                   temp.append(n[-3:])
                   temp.append('t')
                   newtemp=' '
                   newtemp=temp[i]+temp[i+1]
                   print(newtemp)

Output:rtyt