zoukankan      html  css  js  c++  java
  • 骑士 字符串的相关操作与内置函数(集合)

    字符串的相关操作方法(简):
    一 写转来转去
    1. str.capitalize() # 第一个字母转大写 ## 美 /'kæpɪtəlaɪz/ #
    返回值:该方法返回一个首字母大写的字符串
    例 ret1 = str.capitalize()
    print(ret1)
    2. str.lower() # 全部转换成小写 ## 美 /'loɚ/ #
    返回值:返回将字符串中所有大写字符转换为小写后生成的字符串
    3. str.upper() # 全部转换成大写 ## 美 /'ʌpɚ/
    返回值:返回小写字母转为大写字母的字符串
    4. str.title() # 每个被特殊字符隔开的字母首字母大写 ## 美 /'taɪtl/ #
    返回值:返回"标题化"的字符串,就是说所有单词的首字母都转化为大写。
    例 str = "alex eggon,taibai*yinwang_麻花藤"
    ret = str.title() # Alex Eggon,Taibai*Yinwang_麻花藤 // # 中⽂也算是特殊字符
    print(ret)
    二 切来切去
    5. str.strip() # 去掉左右两端的空格 ## 美 /strɪp/ #
    返回值:返回移除字符串头尾指定的字符序列生成的新字符串
    5.1 扩展: str.lstrip() # 去掉左边空格 s.rstrip() # 去掉右边空格
    str = "abcdefgabc"
    print(str.strip("abc")) # defg 也可以指定去掉的元素,
    6. str.replace(old, new[, max]) # 字符串替换 (max)替换次数 ## 美 /rɪ'ples/ #
    返回值:返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,
    如果指定第三个参数max,则替换不超过 max 次。
    7. str.split() # 通过指定分隔符对字符串进行切片 ## 美 /splɪt/ #
    返回值:返回分割后的字符串列表.
    # str.split(str="", num=string.count(str)) #
    # str -- 分隔符,默认为所有的空字符,包括空格、换行( )、制表符( )等
    # num -- 分割次数
    三 查找
    8. str.startswith("") # 检查字符串是否是以指定子字符串开头, ##美 /stɑrtswɪθ/ #
    返回值:如果是则返回 True,否则返回 False
    # str.startswith(str, beg=0,end=len(string))
    str -- 检测的字符串。
    strbeg -- 可选参数用于设置字符串检测的起始位置。
    strend -- 可选参数用于设置字符串检测的结束位置。
    例: str = "this is string example....wow!!!"
    print (str.startswith( 'this' ))
    8.1扩展:str.endswith("") # 是否以'xxx'结尾
    9. str.count("x") # 统计字符串里某个字符出现的次数 ## 美 /kaʊnt/ #
    返回值:该方法返回子字符串在字符串中出现的次数。
    # str.count(sub, start= 0,end=len(string))
    10. str.find("x") # 检测字符串中是否包含子字符串 str,查找'x'出现的位置 ## 美 /faɪnd/ #
    返回值:如果包含子字符串返回开始的索引值,否则返回-1
    例:str1 = "Runoob example....wow!!!"
    str2 = "exam";
    print (str1.find(str2))
    print (str1.find(str2, 5)) # 切片找
    print (str1.find(str2, 10))
    11. str.index() # 求索引位置 ## 美 /'ɪndɛks/ #
    返回值:如果包含子字符串返回开始的索引值,否则抛出异常。
    四 条件判断
    12 str.isalnum() # 是否由字母和数字组成 ## 美 /ɪznʌm/ #
    返回值:如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
    13 str.isalpha() # 是否由字母组成 ## 美 /ɪzpha/ #
    返回值;如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
    14 str.isdigit() 是否由数字组成 ## 美 /ɪzɡɪt/ #
    返回值:如果字符串只包含数字则返回 True 否则返回 False。
    例: s17 = "-123.12"
    s17 = s17.replace("-", "") # 替换掉负号
    if s17.isdigit():
    print("是整数")
    else:
    if s17.count(".") == 1 and not s17.startswith(".") and not s17.endswith("."):
    print("是小数")
    else:
    print("不是小数")
    五. 计算字符串的长度
    13 len(str) # 计算字符串的长度(返回对象(字符、列表、元组等)长度或项目个数)
    返回值:返回对象长度

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    ===============================================================================================
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    内置函数(主)
    基础数据类型相关:
    和数字相关:
    数字类型:
    1. bool() # 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False (int的子类)
    返回值:返回 Ture 或 False。
    2. int() # 用于将一个字符串或数字转换为整型
    返回值:返回整型数据。
    3. float() # 函数用于将整数和字符串转换成浮点数
    返回值:返回浮点数。
    数学运算:
    1. sum() # 对系列进行求和计算
    返回值:计算结果
    2. min() # 返回给定参数的最小值,参数可以为序列
    返回值:返回给定参数的最小值。
    3. max() # 返回给定参数的最大值,参数可以为序列
    返回值:返回给定参数的最大值。
    4. abs() # 返回数字的绝对值
    返回值:函数返回 x(数字)的绝对值,如果参数是一个复数,则返回它的大小。
    和数据结构相关:
    序列:
    列表和元组:
    1. list() # 将一个可迭代对象转换成列表
    返回值:返回列表。
    2. tuple() # 将⼀个可迭代对象转换成元组
    返回值:返回元组。
    相关内置函数:
    1. reversed() # 将⼀个序列翻转, 返回翻转序列的迭代器
    返回值:返回一个反转的迭代器。
    字符串:
    1. str() # 将数据转化成字符串
    返回值:返回一个对象的string格式
    2. bytes() # 把字符串转化成bytes类型
    返回值:返回一个新的 bytes 对象
    数据集合:
    字典:
    1. dict() # 用于创建一个字典
    返回值:返回一个字典。
    集合:
    1. set() # 创建一个无序不重复元素集,可进行关系测试,删除重复数据
    返回值:返回新的集合对象{}
    2. frozenset() # 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素
    返回值:返回新的 frozenset 对象,如果不提供任何参数,默认会生成空集合
    相关内置函数:
    1. len() # 返回⼀个对象中的元素的个数
    返回值:返回对象(字符、列表、元组等)长度或项目个数

    2. sorted() # 对所有可迭代的对象进行排序操作
    返回值:返回重新排序的列表。
    语法: sorted(Iterable, key=None, reverse=False)
    Iterable: 可迭代对象
    key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每⼀个元素传递给这个函
    数的参数. 根据函数运算的结果进⾏排序
    reverse: 是否是倒叙. True: 倒叙, False: 正序
    例 lst = [1,5,3,4,6]
    lst2 = sorted(lst)
    print(lst) # 原列表不会改变
    print(lst2) # 返回的新列表是经过排序的
    dic = {1:'A', 3:'C', 2:'B'}
    print(sorted(dic)) # 如果是字典. 则返回排序过后的key
    例 和函数组合使用
    # 根据字符串⻓度进⾏排序
    lst = ["麻花藤", "冈本次郎", "中央情报局", "狐仙"]
    # 计算字符串⻓度
    def func(s):
    return len(s)
    print(sorted(lst, key=func))
    例 和lambda组合使用
    # 根据字符串⻓度进⾏排序
    lst = ["麻花藤", "冈本次郎", "中央情报局", "狐仙"] # 计算字符串⻓度
    def func(s):
    return len(s)
    print(sorted(lst, key=lambda s: len(s)))
    ---------------------------------
    lst = [{"id":1, "name":'alex', "age":18},
    {"id":2, "name":'wusir', "age":16},
    {"id":3, "name":'taibai', "age":17}] # 按照年龄对学⽣信息进⾏排序
    print(sorted(lst, key=lambda e: e['age']))
                # 利用key进行倒序排序
    >>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]
    >>> result_list = sorted(example_list, key=lambda x: x*-1)
                ## sort 与 sorted 区别:
    sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

    3. enumerate() # 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,
    同时列出数据和数据下标,一般用在 for 循环当中。
    返回值:返回 enumerate(枚举) 对象。
    4. zip() # 用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,
    然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存
    返回值:返回一个对象
    例:l1 = [1,2,3,]
    l2 = ['a','b','c',5]
    l3 = ('*','**',(1,2,3))
    for i in zip(l1,l2,l3):
    print(i)

    5. fiter() # 用于筛选过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象
    返回值:返回一个迭代器对象
    语法: filter(function. Iterable)
    function: ⽤来筛选的函数. 在filter中会⾃动的把iterable中的元素传递给function. 然后
    根据function返回的True或者False来判断是否保留此项数据
    Iterable: 可迭代对象
    例 lst = [1,2,3,4,5,6,7]
    ll = filter(lambda x: x%2==0, lst) # 筛选所有的偶数
    print(ll)
    print(list(ll))
    -----------------------
    lst = [{"id":1, "name":'alex', "age":18},
    {"id":2, "name":'wusir', "age":16},
    {"id":3, "name":'taibai', "age":17}]
    fl = filter(lambda e: e['age'] > 16, lst) # 筛选年龄⼤于16的数据
    print(list(fl))

    6. map() # 根据提供的函数对指定序列做映射
    返回值:返回迭代器。
    语法: map(function, iterable) 可以对可迭代对象中的每⼀个元素进⾏映射. 分别取执⾏function
    例 计算列表中每个元素的平⽅ ,返回新列表
    def func(e):
    return e*e
    mp = map(func, [1, 2, 3, 4, 5])
    print(mp)
    print(list(mp))
    ****改写成lambda
    print(list(map(lambda x: x * x, [1, 2, 3, 4, 5])))
    ----------------
    例 计算两个列表相同位置的数据的和
    lst1 = [1, 2, 3, 4, 5]
    lst2 = [2, 4, 6, 8, 10]
    print(list(map(lambda x, y: x+y, lst1, lst2)))

    作用域相关:
    1.locals() 返回当前作用域中的名字
    返回值:返回字典类型的局部变量
    2.globals() 返回全局作用域中的名字
    返回值:返回全局变量的字典。

    ====================================
    ====================================

    迭代器相关:
    1. range() # 返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表
    range(stop)
    range(start, stop[, step])
    start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
    stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
    step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
    2. next() 迭代器向下执行下一次, 内部实际使用了__next__()⽅法返回迭代器的下一个项目
    3. iter() 获取迭代器, 内部实际使⽤的是__iter__()方法来获取迭代器
    返回值:迭代器对象

    其他:
    字符串类型代码的执行:
    1. evel() # 用来执行一个字符串表达式,并返回表达式的值
    返回值:返回表达式计算结果
    2. exec() # 执行储存在字符串或文件中的 Python 语句,
    相比于 eval,exec可以执行更复杂的 Python 代码
    返回值:exec 返回值永远为 None
    3. compile() # 将一个字符串编译为字节代码
    返回值:返回表达式执行结果
    输入输出:
    1. input() # 接受一个标准输入数据
    返回值:返回为 string 类型
    2. print() # 用于打印输出,最常见的一个函数
    内存相关:
    1. hash() # 用于获取取一个对象(字符串或者数值等)的哈希值
    返回值:返回对象的哈希值
    2. id() # 用于获取对象的内存地址。
    返回值:返回对象的内存地址
    文件操作相关:
    1. open() # 用于扣列表打开一个文件, 创建一个文件句柄
    模块相关:
    1. __import__ # 用于动态加载类和函数
    返回值:返回元组列表
    调用相关:
    1. callable() # 用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;
    但如果返回False,调用对象ojbect绝对不会成功。
    语法:callable(object对象)
    返回值:可调用返回 True,否则返回 False
    查看内置属性:
    1. dir() # 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;
    带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。
    如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
    返回值:返回模块的属性列表
    匿名函数:
    1. lamda # 表示的是匿名函数. 不需要用def来声明, 一句话就可以声明出一个函数
    语法: 函数名 = lambda 参数: 返回值
    注意: 1. 函数的参数可以有多个. 多个参数之间⽤逗号隔开
    2. 匿名函数不管多复杂. 只能写一行, 且逻辑结束后直接返回数据
    3. 返回值和正常的函数⼀样, 可以是任意数据类型
  • 相关阅读:
    python基础-包
    python基础-模块
    python基础-面向过程与函数式
    python基础-二分法
    python基础-函数递归
    python基础-生成器
    QFNU-ACM 2020.11.6 Trating
    ACM 实验室2020.11.01天梯赛练习*4
    QFNU-ACM 2020.10.30 Trating
    QFNU-ACM 2020.10.23 Trating
  • 原文地址:https://www.cnblogs.com/wanxiangai/p/9917117.html
Copyright © 2011-2022 走看看