Python字符串/列表反转,不使用任何库模块或虚拟变量

2024-06-12 05:38:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何在不使用任何库模块,甚至不使用伪变量或扩展切片表示法(例如s[::-1])的情况下反转字符串

例如,我有一个字符串 >>>['f','a','l','u','b']

输出应为>>>['b','u','l','a','f']

我已经搜索了这两个链接,但他们没有提供这个解决方案

String reversal in Python

Reverse a string in Python

Python reversing a string using recursion

这些链接不能提供答案。 我知道字符串是不可变的,这正是我在列表中使用字符串字符的原因,这里几乎每个人都使用内置函数(我已经知道了)来解决这个问题。仍然没有具体答案

这个问题是在一次采访中问我的。我认为鼓励新来的人比批评和否决他们的问题要好


Tags: 模块字符串答案instring链接情况切片
3条回答

正如@Chris在评论中提到的

seq = ['f','a','l','u','b'] # this is a list not a string

这样您就可以轻松地将列表倒过来

^{pr2}$

你可以做一些疯狂的按位运算,但那不是我的强项。既然我不会考虑内置函数“库模块”,那么我认为您可以这样做:

my_str = "".join(reversed(my_str))

但你真的不想这么做。在

ETA:实际上,经过研究,这个问题的“疯狂位”解决方案实际上要复杂得多,可能需要库模块。在

您可以使用此方法在不使用切片表示法的情况下进行反转,无需调用list()

s = "hello world"
s_reversed = ''.join(reversed(s))

// output
'dlrow olleh'

相关问题 更多 >