我正在编写使用 reverse() 函数反转字符串的代码,例如 GOOD ---> DOOG w/o。我快到了...
a = "hello"
for i in range(1,len(a)+1):
print a[-i],
当我使用 join 函数完成代码时,它并没有像我预期的那样工作。任何想法为什么?使我抓狂。
a = "hello"
for i in range(1,len(a)+1):
print ""join.a([-i],)
我正在编写使用 reverse() 函数反转字符串的代码,例如 GOOD ---> DOOG w/o。我快到了...
a = "hello"
for i in range(1,len(a)+1):
print a[-i],
当我使用 join 函数完成代码时,它并没有像我预期的那样工作。任何想法为什么?使我抓狂。
a = "hello"
for i in range(1,len(a)+1):
print ""join.a([-i],)
您可以像这样在一行中反转字符串:
a[::-1]
切片就像[start:stop:step]
. 因此,当您使用 -1 作为 时step
,它会反向打印字符串。
>>> a = "hello"
>>> a[::-1]
'olleh'
你可以这样做:
''.join(a[-i] for i in range(1,len(a)+1))
如果可迭代项具有多个要实际连接在一起的项,则您将传递一个只有一项的可迭代对象到join
何时真正工作得最好。join
这里我传递了一个生成器表达式。
但实际上,最简单、最有效的反转字符串的方法是:
a[::-1]
我会去,s[::-1]
但如果我不得不写一个循环,那么:
for i in range(len(s) - 1, -1, -1):
print s[i]