Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 为什么';append()方法处理字符串,don';它们的行为不像列表吗?_String_Python 3.x_Append - Fatal编程技术网

String 为什么';append()方法处理字符串,don';它们的行为不像列表吗?

String 为什么';append()方法处理字符串,don';它们的行为不像列表吗?,string,python-3.x,append,String,Python 3.x,Append,为什么即使字符串实际上是字符常量列表,该语句也会产生错误 string_name = "" string_name.append("hello word") 我希望这能起作用的原因是,当我们使用for循环时,允许我们使用以下语句: for i in string_name: ... 我认为string\u name在这里被认为是一个列表(?)这是他们在算法和数据结构课程中教给你的,这些课程处理的是算法语言(不真实的)而不是真正的编程语言,在Python中,字符串是字符串,

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

string_name = ""  
string_name.append("hello word")  
我希望这能起作用的原因是,当我们使用for循环时,允许我们使用以下语句:

for i in string_name:  
    ...

我认为
string\u name
在这里被认为是一个列表(?)

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

或简写连接:

string_name = "hello"
string_name += " world"
print(string_name) # => "hello world"
列表和字符串属于这种类型,称为
iterable
iterable
s是顾名思义的iterables,这意味着您可以使用中的关键字
对其进行迭代,但这并不意味着它们是相同类型的对象:

for i in '123': # valid, using a string
for i in [1, 2, 3]: # valid, using a list
for i in (1, 2, 3): # valid, using a tuple
for i in 1, 2, 3: # valid, using an implicit-tuple
# all valid, all different types
我强烈建议您阅读和/或参加

从Docs术语表:

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


输出:rtyt

哦,现在我明白了。这意味着这两种数据类型都是可写的,但它们不是相同的same@PiyushKumar确切地说,就像整数和浮点数(reals)一样,它们都是数字,可以由算术运算符操作,但它们在语言的核心不同。
+=
在追加之前创建原始字符串的副本,对吗?需要O(n)时间。没有办法简单地附加到现有字符串而不复制它吗?
for i in '123': # valid, using a string
for i in [1, 2, 3]: # valid, using a list
for i in (1, 2, 3): # valid, using a tuple
for i in 1, 2, 3: # valid, using an implicit-tuple
# all valid, all different types
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)