区别于&引用;Python中的和[]
我已经编写了一个简单的程序来反转字符串,但是我写区别于&引用;Python中的和[],python,string,python-3.x,list,Python,String,Python 3.x,List,我已经编写了一个简单的程序来反转字符串,但是我写a=“”和写a=[]时得到的结果不同。请有人帮我解释一下为什么会发生这种情况: 输入为: "Argument goes here" 第一路 a= [] for i in range(( len(text)-1,-1,-1): a+= text[i] return a 输出为:['e'、'r'、'e'、'h'、's'、'e'、'o'、'g'、't'、'n'、'e'、'm'、'u'、'g'、'r'、'A'] 第二条道路 a = ""
a=“”
和写a=[]
时得到的结果不同。请有人帮我解释一下为什么会发生这种情况:
输入为:
"Argument goes here"
第一路
a= []
for i in range(( len(text)-1,-1,-1):
a+= text[i]
return a
输出为:['e'、'r'、'e'、'h'、's'、'e'、'o'、'g'、't'、'n'、'e'、'm'、'u'、'g'、'r'、'A']
第二条道路
a = ""
for i in range(1, len(text) + 1):
a += text[len(text) - i]
return a
输出为:
ereh seog tnemugrA
a=[]
实例化一个空列表。使用+
运算符添加到列表时,执行的是列表扩展。换句话说,您正在通过额外的字符扩展列表。请注意,由于一次添加一个字符,因此其效果与list.append
相同
a=''
实例化一个空字符串。使用+
运算符添加到字符串时,执行的是字符串串联
因此,结果会有所不同。第一个将为您提供一个包含反向元素的
列表
对象。第二个将为您提供一个字符颠倒的str
对象。a=[]
实例化一个空列表。使用+
运算符添加到列表时,执行的是列表扩展。换句话说,您正在通过额外的字符扩展列表。请注意,由于一次添加一个字符,因此其效果与list.append
相同
a=''
实例化一个空字符串。使用+
运算符添加到字符串时,执行的是字符串串联
因此,结果会有所不同。第一个将为您提供一个包含反向元素的
列表
对象。第二个将为您提供一个字符反转的str
对象。@avik,不要这样做。您可以使用以下方法反转字符串
[]
表示空列表,“
表示空字符串
a+=text[i]
将字符串的每个字符从末尾添加到列表a
。所以你有一个字符列表。在这里,您可以使用'.join(a)
在返回a
之前获取一个反向字符串>s=“参数在这里”
>>>
>>>倒转
>>>列表(已反转)
['e','r','e','h','s','e','o','g','t','n','e','m','u','g','r','A']
>>>
>>>“”.join(列表已反转)
“ereh seog tnemugrA”
>>>
@avik,不要那样做。您可以使用以下方法反转字符串
[]
表示空列表,“
表示空字符串
a+=text[i]
将字符串的每个字符从末尾添加到列表a
。所以你有一个字符列表。在这里,您可以使用'.join(a)
在返回a
之前获取一个反向字符串>s=“参数在这里”
>>>
>>>倒转
>>>列表(已反转)
['e','r','e','h','s','e','o','g','t','n','e','m','u','g','r','A']
>>>
>>>“”.join(列表已反转)
“ereh seog tnemugrA”
>>>
你是怎么知道[]
和“
是有效的python代码而不知道它们的意思的?我使用的是“边工作边学习”方法。你是怎么知道[]
和”
是有效的python代码而不知道它们的意思的?我使用的是“边工作边学习”方法1.他不是在问如何反转字符串。他问的是为什么他的程序会得到两个不同的结果,而不是如何反转字符串。他问为什么他从他的项目中得到了两个不同的结果。谢谢你的快速回复。谢谢你的快速回复。
>>> s = "Argument goes here"
>>>
>>> reversed(s)
<reversed object at 0x00000275F29B9F60>
>>> list(reversed(s))
['e', 'r', 'e', 'h', ' ', 's', 'e', 'o', 'g', ' ', 't', 'n', 'e', 'm', 'u', 'g', 'r', 'A']
>>>
>>> "".join(list(reversed(s)))
'ereh seog tnemugrA'
>>>