07-04字符串函数+高级函数(map,reduce,filter,lambda)

    技术2025-06-14  13

    一、字符串函数

    s1=s.spilt('\t') 将字符串s以 制表符 分割 result=s.find('str') 在字符串s中找到str的下标 s.capitalize() --字符串s的首字母大写 s.lower() ---字符串s全部小写 s.upper()---字符串 s全部大写 't'join(s)--将t插入到s中的每个元素中间 s.replace('\n', ' ') 将s中的所有换行符替换为空格 s.lstrip() ---去掉字符串s最左边的空格 s.rstrip() ------去掉字符串最右边的空格 s.startwith('123') 字符串s由123开头吗? s.endwith('67') 字符串s由67结尾吗? s.isdigit() ---s全部是数字吗? s.isalnum() ----字符串是否有字母或者数字构成的? s.count('1') 字符串s中1出现的字数

    二、高级函数

    ①lambda函数

    f1=lambda a : 'A' if a=1 else 'B' f1(1.0)

    ②map函数 map()方法将一个函数映射到序列的每一个元素上,生成新的序列,包含所有函数返回值。序列的每一个元素都被当成一个x变量,放到一个函数(x)里,其结果是f(x1),f(x2),…组成新的序列。 例如:

    items[1,2,3,4,5,6,] def f(x): return x**2 map(f,items) print(map(f,items)) #返回值为 <map object at 0x0000000004F0FF08> list(map(f,items)) 返回值为 [1, 4, 9, 16, 25,36]

    上述两个函数的结合: map(lambda x:x**2,items)

    ③reduce函数 在迭代序列的过程中,首先把前两个元素(只能两个)传给函数,函数加工后,然后把得到的结果和第三个元素作为参数传递给函数参数,以此类推。

    from functools import rduce reduce(func,iterable) 参数为函数和可迭代序列 例如: list=[1,2,3,4,5,6,7,7,8,8] def func(x,y): retnrun x+y result=reduce(f,list)

    ④filter函数 用于过滤函数,过滤掉不符合条件的函数返回符合条件元素组成的序列。

    ltems=[1,2,3,4,'2323','iner','-34.56',45,7,-9] result=list(filter(lambda x: 1/true if isinstance(x,int) else 0/false ,items)) def is_int(x): if isinstance(x,int): return True ----返回true的保留 else: return False----返回false的不保留 result=list(filter(is_int,items)) print(result)
    Processed: 0.014, SQL: 9