python 实现字符串反转的几种方法

1.字符串切片

s = "hello"
reversed_s = s[::-1]
print(reversed_s)

>>> olleh

2.列表的reverse方法

s = "hello"
l = list(s)
l.reverse()
reversed_s = "".join(l)
print(s)

>>> olleh

3.使用reduce函数

在python2中可直接使用reduce函数,在python3中需在functools库里导入。

reduce函数语法:

   reduce(function, iterable[, initializer])  function--函数,有两个参数  iterable--可迭代对象  initializer--可选,初始参数

使用方法如下:

from functools import reduce
def add(x,y):
    return x+y

res = reduce(add, [1,2,3,4,5])
print(res)

>>> 15
from functools import reduce
s = "hello"
reversed_s = reduce(lambda x, y: y+x, s)
print(reversed_s)

>>>olleh

4.python3 reversed函数

reversed函数返回一个反转的迭代器

语法:

  reversed(seq)  seq--需要转换的序列,可以是元组,列表,字符串等。

s = "hello"
l = list(reversed(s))
reversed_s = ‘‘.join(l)
print(s)

>>>olleh

5.使用递归函数

def func(s):
    if len(s) < 1:
        return s
    return func(s[1:]) +s[0]

s = ‘hello‘
result = func(s)
print(result)

>>>
olleh

6.使用栈

s = "hello"
l = list(s)
result = ""
while(len(l)>0):
    result += l.pop()
print(result)

>>>olleh

7.for循环

s = ‘hello‘
l = list(s)
for i in range(int(len(s)/2)):
    tmp = l[i]
    l[i] = l[len(s)-i-1]
    l[len(s)-i-1] = tmp
print(‘‘.join(l))

>>>olleh

  

原文地址:https://www.cnblogs.com/lovewhale1997/p/11364256.html

时间: 2024-10-15 05:09:41

python 实现字符串反转的几种方法的相关文章

[转]Python实现字符串反转的几种方法

#第一种:使用字符串切片 result = s[::-1] #第二种:使用列表的reverse方法 l = list(s) l.reverse() result = "".join(l) #当然下面也行 l = list(s) result = "".join(l[::-1]) #第三种:使用reduce result = reduce(lambda x,y:y+x,s) #第四种:使用递归函数 def func(s): if len(s) <1: retur

趣味算法:字符串反转的N种方法(转)

老赵在反对北大青鸟的随笔中提到了数组反转.这的确是一道非常基础的算法题,然而也是一道很不平常的算法题(也许所有的算法深究下去都会很不平常).因为我写着写着,就写出来8种方法……现在我们以字符串的反转为例,来介绍这几种方法并对它们的性能进行比较. 使用Array.Reverse方法 对于字符串反转,我们可以使用.NET类库自带的Array.Reverse方法 public static string ReverseByArray(this string original) { char[] c =

关于字符串反转的几种方法的比较

下面先上代码: class Program { static void Main(string[] args) { string str = "12345"; const int count = 10000; Stopwatch sw = Stopwatch.StartNew(); for (int i = 0; i < count; i++) { Reverse1(str); } Console.WriteLine("Reverse1耗时: {0}", sw

javascript 实现字符串反转的两种方法

第一种方法:利用数组方法 //先split将字串变成单字数组,然后reverse()反转,然后将数组拼接回字串 var str = "abcdef"; str.split("").reverse().join('') 第二种方法:暴力遍历 var str="abcdef" ,str2=""; var i=str.length; i=i-1; for (var x = i; x >=0; x--) { str2 += st

python 字符串反转的几种方法

1.用reduce函数方法 book = 'Python程序设计' result = reduce(lambda x,y:y+x,book) print(result) 2.字符串切割 book = 'Python程序设计' print(book[::-1]) 3.用reversed方法,把字符串变成列表反转后拼接 result = reversed(list(book)) print(''.join(result)) 4.for循环 book = 'Python程序设计' lenbook =

c++中字符串反转的3种方法

第一种:使用algorithm中的reverse函数 #include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string s = "hello"; reverse(s.begin(),s.end()); cout<<s<<endl; return 0; } 第二种:自己编写 #include &l

字符串反转的3种方法

0x00 自己写一个 // 第一种 std::string reverse(std::string str) { std::string res(""); for (int i = str.size() - 1; i >= 0; i--) { res += str[i]; } return res; } // 第二种 int main(void) { std::string str("abcde"); int i = 0, j = str.size() - 1

python中字符串格式化的四种方法

1 name = "huangemiling" 2 age= 10 3 address = 'nanjing' 4 print("My name is %s,age is %d,I come from %s"%(name,age,address)) 5 print("My name is {0},age is {1},I come from {2}".format(name,age,address)) 6 print("My name

Python字符串拼接的6种方法

Python字符串拼接的6种方法: 1. 加号 第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此直接用 “+” 来连接两个字符串: 1 print 'Python' + 'Tab' 结果: 1 PythonTab 2. 逗号 第二种比较特殊,使用逗号连接两个字符串,如果两个字符串用“逗号”隔开,那么这两个字符串将被连接,但是,字符串之间会多出一个空格: 1 print 'Python','Tab' 结果: 1 Python Tab 3. 直接连接 第