为什么我们要在 python 中反转字符串时使用 join() 函数

Gop*_*pal 0 python python-3.x

什么是目的'。加入() 在这里

print(''.join(reversed(a)))
Run Code Online (Sandbox Code Playgroud)

我们不能只用反转函数反转字符串吗

print(reversed("python"))
Run Code Online (Sandbox Code Playgroud)

Jim*_*ard 5

不,你不能简单地通过调用来做到这一点reversedreversed返回一个特殊的reversed迭代器对象,它需要被迭代以产生它的元素。

不提供它.join,这里将只打印出混乱repr的的reversed对象:<reversed object at 0x7f2ba02be320>

Calling"".join将一个可迭代reversed对象作为参数,使用该对象并连接生成您看到的字符串的元素。

请注意,还有其他方法可以使用它而不会join产生不同的对象,list例如,将获取该reversed对象并从它产生的元素中创建一个列表:

a = reversed('abcd')
print(list(a))
['d', 'c', 'b', 'a']
Run Code Online (Sandbox Code Playgroud)

如果你最终需要一个字符串,那么最好的选择是.join.