1、反转字符串
import collections
#方法一'''直接使用字符串切片功能逆转字符串'''
def fun1(one_str):
a1 = one_str[::-1]
print(a1)
fun1("abcde")
#方法二:reverse()函数
s = 'hello'
li=list(s)
li.reverse()
a2= ''.join(li)
print(a2)
#方法三:递归函数, 递归的方式, 每次输出一个字
def digui(s1):
if len(s1) < 1:
return s1
else:
return digui(s1[1:]) + s1[0]
print(s1)
# [1:] 不写end 默认到结尾,因为还是得到'ello'
a3=digui(s)
print(a3)
#方法四:出栈
def func4(p):
l_str = list(p)
result = ""
while len(l_str)>0:
result += l_str.pop()
print(result)
return result
func4(s)
2、Python 切片
- 1、L[0:3]表示从索引0开始,知道索引3为止,但是不包括索引3,即索引0,1,2.
- 2、如果第一个索引为0,还可以省略:
- >>> L[:3]
- 3、倒数取数L[-1]
3、lambda函数
lambda和普通函数相比,就是省去了函数名称而已,同样这样的匿名函数,又不能共享在别的地方调用。
作用就是省去定义函数的过程,让代码更加精简。而且不需要考虑命名的问题。
lambda基础
lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。lambda语句构建的其实是一个函数对象,见证一下:
>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
>>> print map(lambda x: x * 2 + 10, foo)
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>> print reduce(lambda x, y: x + y, foo)
139
在对象遍历处理方面,其实Python的for..in..if语法已经很强大,并且在易读上胜过了lambda。
4、网站