Python 为什么会有";而";循环有效,但;至于;一个没有';T

Python 为什么会有";而";循环有效,但;至于;一个没有';T,python,function,reverse,Python,Function,Reverse,我刚刚开始学习python。 我正在尝试为字符串创建一个反向函数,我知道这段代码是有效的: def reverse(text): string_list = list(text) new_list = [] length = len(string_list) - 1 while length >= 0: new_list.append(string_list[length]) length = length - 1 r

我刚刚开始学习python。 我正在尝试为字符串创建一个反向函数,我知道这段代码是有效的:

def reverse(text):
    string_list = list(text)
    new_list = []
    length = len(string_list) - 1
    while length >= 0:
        new_list.append(string_list[length])
        length = length - 1
    return ''.join(new_list)
但我不明白为什么这个不能:

def reverse(text):
    string_list = list(text)
    new_list = []
    for i in len(text)-1:
        new_list.append(string_list[len(text)-i])
    return "".join(new_list)

如何使for循环工作?错误在哪里?

您应该使用
range
或更好的
xrange

for i in xrange(len(text)):
    new_list.append(string_list[len(text) - 1 - i])

您应该使用
range
或更好的
xrange

for i in xrange(len(text)):
    new_list.append(string_list[len(text) - 1 - i])

您应该使用
range
或更好的
xrange

for i in xrange(len(text)):
    new_list.append(string_list[len(text) - 1 - i])

您应该使用
range
或更好的
xrange

for i in xrange(len(text)):
    new_list.append(string_list[len(text) - 1 - i])

从索引1开始,使用范围()


从索引1开始,使用范围()


从索引1开始,使用范围()


从索引1开始,使用范围()


试着这样做:

def reverse(text):
    string_list = list(text)
    new_list = []
    for i in range(len(text)):
        new_list.append(string_list[len(text) -1- i])
    return "".join(new_list)
反向('joe')=>'eoj'


使用此代码,您既不会出现
列表索引超出范围的错误,也不会丢失字符串中的字符

试试这样的方法:

def reverse(text):
    string_list = list(text)
    new_list = []
    for i in range(len(text)):
        new_list.append(string_list[len(text) -1- i])
    return "".join(new_list)
反向('joe')=>'eoj'


使用此代码,您既不会出现
列表索引超出范围的错误,也不会丢失字符串中的字符

试试这样的方法:

def reverse(text):
    string_list = list(text)
    new_list = []
    for i in range(len(text)):
        new_list.append(string_list[len(text) -1- i])
    return "".join(new_list)
反向('joe')=>'eoj'


使用此代码,您既不会出现
列表索引超出范围的错误,也不会丢失字符串中的字符

试试这样的方法:

def reverse(text):
    string_list = list(text)
    new_list = []
    for i in range(len(text)):
        new_list.append(string_list[len(text) -1- i])
    return "".join(new_list)
反向('joe')=>'eoj'


使用此代码,您既不会出现
列表索引超出范围的错误,也不会丢失字符串中的字符

得到错误,在相应的行中使用

for i in range(len(text))


获取错误,请在相应行中使用此选项

for i in range(len(text))


获取错误,请在相应行中使用此选项

for i in range(len(text))


获取错误,请在相应行中使用此选项

for i in range(len(text))



你从哪里知道这是他遇到的问题?因为他还忘了从长度中减去1。@Cyber这次是我的错:)很抱歉,我没有机会测试。我已经更新了我的答案。好了,第三次很有魅力:)你从哪里知道这是他遇到的问题?因为他还忘了从长度中减去1。@Cyber这次是我的错:)对不起,我没有机会测试。我已经更新了我的答案。好了,第三次很有魅力:)你从哪里知道这是他遇到的问题?因为他还忘了从长度中减去1。@Cyber这次是我的错:)对不起,我没有机会测试。我已经更新了我的答案。好了,第三次很有魅力:)你从哪里知道这是他遇到的问题?因为他还忘了从长度中减去1。@Cyber这次是我的错:)对不起,我没有机会测试。我已经更新了我的答案。好了,第三次是一个魅力:)反向是一个关键字排序。。。我想给你的函数起个别的名字…
“ASD”[::-1]
是一个更好的方法来反转它或
”。join(反转(“ASD”)
反转是一个关键字。。。我想给你的函数起个别的名字…
“ASD”[::-1]
是一个更好的方法来反转它或
”。join(反转(“ASD”)
反转是一个关键字。。。我想给你的函数起个别的名字…
“ASD”[::-1]
是一个更好的方法来反转它或
”。join(反转(“ASD”)
反转是一个关键字。。。我会给你的函数起个别的名字…
“ASD”[::-1]
是一个更好的反转方法或
”。join(反转(“ASD”)
@ozgur他使用了
new\u list.append(string\u list[len(text)-I])
这样循环将从1到len(text),而不是从0到len(text)-1[两者都包含]。@ozgur他使用了
new list.append(string_list[len(text)-i])
因此循环将从1变为len(text),而不是从0变为len(text)-1[两者包含]。@ozgur他使用了
new_list.append(string_list[len(text)-i])
因此循环将从1变为len(text),而不是从0变为len(text)-1[两者包含]。@ozgur他使用了
new_list.append(string_list[len(text)-i])
因此循环将从1变为len(文本),而不是从0变为len(文本)-1[两者都包含]。