Piy*_*mar 8 string append python-3.x
即使字符串实际上是字符常量的列表,为什么该语句仍会产生错误?
string_name=""
string_name.append("hello word")
Run Code Online (Sandbox Code Playgroud)
我认为这是正确的原因是因为当我们使用for循环时,我们被允许使用此语句-
对于我在string_name中:
......
我认为string_name被视为此处的列表
这就是他们在算法和数据结构课程中教给您的内容,他们使用算法语言(虚幻)而不是真实的编程语言来处理,在Python中,字符串是字符串,列表是列表,它们是不同的对象,您可以使用所谓的字符串连接(基本上是对字符串的加法运算)“附加”到字符串:
string_name = "hello"
string_name = string_name + " world"
print(string_name) # => "hello world"
Run Code Online (Sandbox Code Playgroud)
或简写串联:
string_name = "hello"
string_name += " world"
print(string_name) # => "hello world"
Run Code Online (Sandbox Code Playgroud)
列表和字符串属于这种类型,称为iterable。iterable顾名思义,s是可迭代的,意味着您可以使用关键字遍历它们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
Run Code Online (Sandbox Code Playgroud)
我强烈建议您阅读Python文档和/或阅读Python的Tutorial。
从文档词汇表:
可迭代
的对象,一次可以返回其成员。iterables的实例包括所有类型的序列(如list,str,和tuple)和一些非序列类型,如dict,文件对象,你用定义任何类的对象__iter__()或__getitem__()方法。Iterables可以在其中需要的序列被用于循环和在许多其他地方(zip(),map(),…)。将可迭代对象作为参数传递给内置函数时iter(),它将返回该对象的迭代器。此迭代器非常适合在一组值上传递一次。使用可迭代对象时,通常无需调用iter()或自己处理迭代器对象。for语句会自动为您执行此操作,并创建一个临时的未命名变量以在循环期间保持迭代器。另请参见迭代器,序列和生成器。有关可迭代的更多信息。
| 归档时间: |
|
| 查看次数: |
20314 次 |
| 最近记录: |