我正在编写反转字符串的代码,例如好的---> DOOG没有使用reverse()函数。我快到了......
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],)
答案 0 :(得分:3)
您可以在一行中反转字符串,如下所示:
a[::-1]
切片的工作方式与[start:stop:step]
类似。因此,当您使用-1作为step
时,它会反向打印字符串。
>>> a = "hello"
>>> a[::-1]
'olleh'
答案 1 :(得分:2)
你可以这样做:
''.join(a[-i] for i in range(1,len(a)+1))
如果可迭代项目有多个要实际连接在一起的项目,那么当join
确实最佳时,您将只有一个项目传递给join
的可迭代对象。这里我传递一个生成器表达式。
但实际上,反转字符串的最简单,最有效的方法是:
a[::-1]
答案 2 :(得分:1)
我会选择s[::-1]
但是,如果我必须写一个循环,那么:
for i in range(len(s) - 1, -1, -1):
print s[i]