Python实现字符串反转的方法

第一种:使用字符串切片

>>> s = "python"
>>> s[::-1]
‘nohtyp‘
>>> 

第二种:使用列表的reverse方法

>>> s = "python"
>>> lst = list(s)
>>> lst.reverse()
>>> "".join(lst)
‘nohtyp‘
>>> 

手写 reverse

>>> def reverseString(s:str) -> str:
	lst = list(s)
	i, j = 0, len(s)-1
	while i < j:
		lst[i], lst[j] = lst[j], lst[i]
		i , j = i + 1, j - 1
	return "".join(lst)

>>> s = ‘python‘
>>> reverseString(s)
‘nohtyp‘
>>> 

第三种:使用reduce

>>> from functools import reduce  # Python3 中不可以直接调用reduce
>>> s = "python"
>>> reduce(lambda x, y: y+x, s)
‘nohtyp‘
>>> 

reduce 函数帮助:

>>> help(reduce)
Help on built-in function reduce in module _functools:

reduce(...)
    reduce(function, sequence[, initial]) -> value

    Apply a function of two arguments cumulatively to the items of a sequence,
    from left to right, so as to reduce the sequence to a single value.
    For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates
    ((((1+2)+3)+4)+5).  If initial is present, it is placed before the items
    of the sequence in the calculation, and serves as a default when the
    sequence is empty.

>>> 

第四种:使用递归函数

>>> def reverse(s):
	if s == "":
		return s
	else:
		return reverse(s[1:]) + s[0]

>>> reverse(‘python‘)
‘nohtyp‘
>>> 

python中默认的最大递归数:

>>> import sys
>>> sys.getrecursionlimit()
1000
>>> 

第五种:使用栈

>>> def rev(s):
	lst = list(s) # 转换成list
	ret = ""
	while len(lst):
		ret += lst.pop() # 每次弹出最后的元素
	return ret

>>> s = ‘python‘
>>> rev(s)
‘nohtyp‘
>>> 

第六种:for循环

>>> def rever(s):
	ret = ""
	for i in range(len(s)-1, 0, -1):
		ret += s[i]
	return ret

>>> s = "python"
>>> rev(s)
‘nohtyp‘
>>>

  

原文地址:https://www.cnblogs.com/51try-again/p/11148515.html

时间: 2024-10-05 04:55:59

Python实现字符串反转的方法的相关文章

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

[转]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

python中字符串内置方法整理

下表是在通过网络视频学习时,别人整理的.放在此处,以便以后需要. capitalize() 把字符串的第一个字符改为大写 casefold() 把整个字符串的所有字符改为小写 center(width) 将字符串居中,并使用空格填充至长度 width 的新字符串 count(sub[, start[, end]]) 返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选. encode(encoding='utf-8', errors='strict') 以 encod

Python 的字符串内置方法

1 capitalize()将字符串的第一个字符转换为大写 2 center(width, fillchar) 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格.3 count(str, beg= 0,end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数4 bytes.decode(encoding="utf-8", errors="str

Python 实现字符串反转

第一种方法:字符串切片 第二种方法:list 和 reverse()配合使用 第三种方法:使用栈的思想 原文地址:https://www.cnblogs.com/liaoliao51/p/10327335.html

【Python】字符串反转

代码: def rvs(s): if s=="": return s else: return rvs(s[1:])+s[0] print(rvs("123")) 原文地址:https://www.cnblogs.com/HGNET/p/12590971.html

字符串反转方法汇总

split()方法将一个字符串对象的每个字符拆出来,并且将每个字符串当成数组的每个元素 reverse()方法用来改变数组,将数组中的元素倒个序排列,第一个数组元素成为最后一个,最后一个变成第一个 join()方法将数组中的所有元素边接成一个字符串 来看个实例: 1 function reverseString(str) { 2 // 第一步,使用split()方法,返回一个新数组 3 // var splitString = "hello".split("");

Python实现list反转实例汇总

这篇文章主要介绍了Python实现list反转的方法,实例总结了关于list的各种较为常见的操作技巧,需要的朋友可以参考下: import math def resv(li):    new = [] if li: cnt = len(li) for i in range(cnt): new.append(li[cnt-i-1]) return new def resv2(li): li.reverse() return li def resv3(li): hcnt = int(math.flo

python学习之巧妙字符串反转

字符串反转是一个最常见的面试题,写法也很多种,下面给2家介绍2种,一种是常规写法,一种是巧妙写法: 题目:完成字符串abcd反转. 方法1:比较容易想到的想法,利用listdef reversestr(string):         strlist=[]          i=len(string)-1          while(i>=0):                  strlist.append(string[i])                   i-=1