zoukankan      html  css  js  c++  java
  • day06-Python运维开发基础(字符串格式化与相关的函数、列表相关的操作)

    1. 字符串相关的操作与格式化

    # ### 字符串相关操作
    # (1)字符串的拼接 + 
    var1 = "亲爱的,"
    var2 = "男孩"
    res = var1 + var2
    print(res)
    
    # (2)字符串的重复 *
    var = "重要的事情说三遍"
    res = var * 3
    print(res)
    
    # (3)字符串跨行拼接  
    strvar = "sdfsdfsdfkjjksssssssssssssssssssssssssssssssssssssssssssss"
    "111223344"
    print(strvar)
    
    # (4)字符串的索引
    #         0  1 2 3 4
    strvar = "天气转冷了"
    #        -5 -4-3-2-1 
    res = strvar[3]  
    res = strvar[-2]
    print(res)  
    
    # (5)字符串的切片: (截取)
    """
    语法 => 字符串[::]  完整格式:[开始索引:结束索引:间隔值]
        (1)[开始索引:]  从开始索引截取到字符串的最后
        (2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
        (3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
        (4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取字符
        (5)[:]或[::]  截取所有字符串
    """
    strvar = "为中华崛起而读书,我们还年轻,毕竟18岁"
    # (1)[开始索引:]  从开始索引截取到字符串的最后
    res = strvar[3:]
    print(res)
    
    # (2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
    res = strvar[:7]
    print(res)
    
    # (3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
    res = strvar[11:14]
    print(res)
    
    # (4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取字符
    res = strvar[::2]
    # 0 2 4 6 8 10 12 14 ...... 正向
    res = strvar[::-1]
    # -1 -2 -3 -4 -5 -6 ... 逆向
    print(res)
    
    # (5)[:]或[::]  截取所有字符串
    res = strvar[:]
    res = strvar[::]
    print(res)
    字符串相关的操作 示例代码
    # ### 字符串的格式化format
    
    # (1)顺序传参
    strvar = "{}向{}开了一枪,饮弹而亡".format("潘智慧","李诗韵")
    print(strvar)
    
    # (2)索引传参
    strvar = "{1}给{0}一个大大的拥抱".format("续送课","黄俊伟")
    print(strvar)
    
    # (3)关键字传参
    strvar = "{who2}向{who1}进行扫射,嘴里大喊鸭子给给".format(who1="陈佳琪",who2="王天赐")
    print(strvar)
    
    # (4)容器类型数据(列表或元组)传参
    # (1)
    strvar = "{0[1]}给{1[2]}一个飞吻,鼻血直冒三万多尺".format(["林荫站","林明辉","林明亮"],("罗宗源","钟志红","皮得意"))
    print(strvar)
    
    # (2)
    strvar = "{group1[1]}给{group2[2]}一个飞吻,鼻血直冒三万多尺".format(group1 = ["林荫站","林明辉","林明亮"],group2 = ("罗宗源","钟志红","皮得意",1,2,3,4,5,6,7,8))
    print(strvar)
    
    # (3) 如果是字典,在获取值得时候,键的两边不要套引号 => 针对于format格式化字符串场景使用;
    strvar = "{group1[1]}给{group2[b]}一个飞吻,鼻血直冒三万多尺".format(group1 = ["林荫站","林明辉","林明亮"],group2 = {"a":"刘守乱","b":"黄乐锡"})
    print(strvar)
    字符串的格式化 示例代码
    # (5)format的填充符号的使用( ^ > < )
    """
    ^  原字符串居中
    >  原字符串居右
    <  原字符串局左
    
    {who:*^10}
    
    who : 要填充的字符
    *   : 要填充的符号
    ^   : 要填充的方向
    10  : 要填充的总长度   符号个数 +  原字符串个数 =  10
    
    * 如果不写填充的符号,默认填充的是空格
    """
    
    strvar = "{who:*^10}在{where:@>10}扎疫苗,感觉{feel:!<10}".format(who="朱京城",where="长春长生科技公司",feel="萌萌哒")
    print(strvar)
    
    
    
    # (6)进制转换等特殊符号的使用( :d :f :s :, ) [强制必须是对应类型]
    # :d 整型占位符 
    strvar = "吴荣泽有{:d}女友".format(7)
    print(strvar) 
    
    # :2d 占用两位
    strvar = "{:d}*{:d}={:3d}".format(5,6,5*1)
    print(strvar)
    
    # :<3d 让原字符串居左 :^3d 让原字符串居中
    strvar = "{:d}*{:d}={:<3d}".format(5,6,5*1)
    print(strvar)
    
    # :f 浮点型占位符
    strvar = "杨麻子给女友买了很多芝麻,花了{:f}元".format(4.67)
    print(strvar) 
    
    # :.2f 浮点型占位符
    strvar = "杨麻子给女友买了很多芝麻,花了{:.2f}元".format(4.67)
    print(strvar) 
    
    # :s  字符串占位符
    strvar = "{:s}"
    print(strvar.format("天气冷了,多穿衣服"))
    print(strvar.format("789"))
    
    # :, 金钱占位符
    strvar = "{:,}".format(1234567)
    print(strvar)
    
    # 综合案例
    strvar= "{:s} 开了{:.1f}元工资,买了{:d}个布加迪威龙".format("郭少东",9.9,10)
    print(strvar)
    字符串 format 填充符号的使用 示例代码

    2. 字符串相关的函数

    # ### 字符串的相关函数
    # *capitalize 字符串首字母大写 
    strvar = "happy new year"
    res = strvar.capitalize()
    print(res)
    
    # *title 每个单词的首字母大写 (非字母隔开,首字符都大写)
    strvar = "happy new year"
    res = strvar.title()
    res = "sdf1234sdf开了接口接口56".title()
    print(res)
    
    # *upper 将所有字母变成大写
    strvar = "sdfs opop xiaomi"
    print( strvar.upper() )
    
    # *lower 将所有字母变成小写 
    strvar = "SDFS OPOP XIAOMI"
    print( strvar.lower() )
    
    # swapcase 大小写互换 
    strvar = "SDfs OPOP XIAOMI"
    print(  strvar.swapcase() )
    
    # *len 计算字符串的长度
    strvar = "abcd123"
    print( len(strvar) ) 
    
    # *count 统计字符串中某个元素的数量 
    strvar = "我爱你亲爱的老爸"
    res = strvar.count("")
    print(res)
    
    # *find 查找某个字符串第一次出现的索引位置 (推荐)
    """find("要查找的字符串",开始位置,结束位置)"""
    strvar = "oh Father this is my favorite boy"
    res = strvar.find("t")
    res = strvar.find("t",6)
    res = strvar.find("my",0,20)
    # 如果返回的是-1 , 代表没有
    # res = strvar.find("my",0,4)
    print(res)
    
    
    # *index 与 find 功能相同 find找不到返回-1,index找不到数据直接报错
    # res = strvar.index("my",0,4)
    
    # *startswith 判断是否以某个字符或字符串为开头 
    # startswith,endswith("字符串",开始索引,结束索引)
    strvar = "oh Father this is my favorite boy"
    res = strvar.startswith("oh")
    res = strvar.startswith("Father",3)
    res = strvar.startswith("ther",5,10)
    print(res)
    
    # *endswith   判断是否以某个字符或字符串结尾 
    res = strvar.endswith("boy")
    res = strvar.endswith("rite",-12,-4) # -12 ~ -5 favorite
    print(res)
    
    # *isupper 判断字符串是否都是大写字母 
    strvar = "XBOYWW"
    res = strvar.isupper()
    print(res)
    
    # *islower 判断字符串是否都是小写字母 
    strvar = "xboywW"
    res = strvar.islower()
    print(res)
    
    # *isalpha 判断字符串是否由字母和文字组成 
    strvar = "sdfsd你好"
    res = strvar.isalpha()
    print(res)
    
    # *isdigit 检测字符串数是数字组成 接受二进制字节流 
    strvar = "1234566"
    res = strvar.isdigit()
    print(res)
    
    """
    二进制字节流(bytes) : 用来把数据进行传输和存储
    表达方式: b"字符串"  
    里面的字符 必须是ascii编码集
    """
    res = b"123"
    print(res,type(res))
    res2 = res.isdigit()
    print(res2)
    # res3 = b"中文" 错误 
    
    # *isdecimal 检测字符串是否以数字组成  必须是纯数字
    res = "998887"
    res2 = res.isdecimal()
    print(res2)
    
    
    
    # 重点记住
    # *split 按某字符将字符串分割成列表(默认字符是空格)
    strvar = "you can you up no can no bb"
    res = strvar.split()
    strvar = "you,can,you,up,no,can,no,bb"
    # 按照逗号进行分割
    res = strvar.split(",")
    print(res)
    # 按照逗号进行分割,分割2个 (从左向右分割)
    res = strvar.split(",",2)
    print(res)
    # 按照逗号进行分割,分割2个 (从右向左分割)
    res = strvar.rsplit(",",2) # r => right
    print(res)
    
    # *join  按某字符将列表拼接成字符串(容器类型都可)
    lst = ['you', 'can', 'you', 'up', 'no', 'can', 'no', 'bb']
    strvar = "-".join(lst)
    print(strvar,type(strvar))
    
    
    # *center 填充字符串,原字符居中 (默认填充空格)
    strvar = "刘德华"
    strnew = strvar.center(10) # 10 是字符串的总长度 = 原字符串长度 + 填充字符长度
    strnew = strvar.center(10,"@")
    print(strnew)
    
    # *strip  默认去掉首尾两边的空白符 (
     
     	 空格)
    strvar = "                  神秘男孩                 "
    print(strvar)
    res = strvar.strip()
    print(res)
    strvar = "@@@@abc@@@"
    res = strvar.strip("@")
    print(res)
    
    # replace 把字符串的旧字符换成新字符
    strvar = "可爱的小狼狗喜欢吃肉,有没有,有没有,还有没有"
    res = strvar.replace("有没有","真没有")
    # 可以选择替换的次数
    res = strvar.replace("有没有","真没有",1)
    print(res)
    字符串相关函数操作 示例代码

    3. 列表相关操作与函数

    # ### 列表相关操作 +
    # (1)列表的拼接   (同元组) +
    lst1 = ["邹永玲","刘守乱","朱京城","郭少东","桂晓斌"]
    lst2 = ["好价位"]
    res = lst1 + lst2
    print(res)
    
    # (2)列表的重复   (同元组) *
    lst = ["吴荣泽","杨麻子"]
    res = lst * 3
    print(res)
    
    # (3)列表的切片   (同元组)
    """
    语法 => 列表[::]  完整格式:[开始索引:结束索引:间隔值]
        (1)[开始索引:]  从开始索引截取到列表的最后
        (2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
        (3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
        (4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
        (5)[:]或[::]  截取所有列表
    """
    lst = ["邹永玲","刘守乱","朱京城","郭少东","桂晓斌","严职员","张晓东","中亚曦"]
    # 1[开始索引:]  从开始索引截取到列表的最后
    res = lst[2:]
    print(res)
    
    # 2[:结束索引]  从开头截取到结束索引之前(结束索引-1)
    res = lst[:3]
    print(res)
    
    # 3[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
    res = lst[4:6]
    print(res)
    
    # 4[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
    res = lst[::3]
    # 0 3 6 9 12 ...
    res = lst[::-2]
    #-1 -3 -5 -7 
    print(res)
    
    # 5[:]或[::]  截取所有列表
    res = lst[:]
    res = lst[::]
    print(res)
    
    # (4)列表的获取   (同元组)
    #      0 1 2 3 
    lst = [1,2,3,4]
    #     -4-3-2-1
    res = lst[-1]
    res = lst[3]
    print(res)
    
    # (5)列表的修改   ( 可切片 )
    lst = ["邹永玲","刘守乱","朱京城","郭少东","桂晓斌","严职员","张晓东","中亚曦"]
    lst[1] = "罗启云"
    print(lst)
    
    # 1用切片进行修改(修改的是一段值,没有个数上的要求)
    # lst[2:4] = ("a","b","c")
    # print(lst)
    # 2用带有间隔值的切片进行修改(截取几个,修改几个,元素个数要对应)
    lst[2:6:2] = ["d","e"]
    print(lst)
    
    
    # (6)列表的删除   ( 可切片 ) del
    lst = ["郭少东","桂晓斌","严职员","张晓东","中亚曦"]
    # 删除一个
    # del lst[-2]
    # print(lst)
    
    # 利用切片进行删除
    # del lst[1:4]
    # del lst[1:4:2]# 1 3
    print(lst)
    
    # 注意点:错误写法
    """
    res = lst[1:4]
    del res # 删除的是变量,不是列表
    print(lst)
    """
    列表相关常用操作 示例代码
    # ### 列表相关函数
    listvar = ["宗永玲","刘守乱","黄乐锡","卓冰洁"]
    #
    # (1) append 向列表的末尾添加新的元素
    listvar.append("常远")
    print(listvar)
    
    # (2) insert 在指定索引之前插入元素
    listvar.insert(0,"郭少东")
    print(listvar)
    
    # (3) extend 迭代追加所有元素
    '''可迭代性数据:(容器类型数据 range对象 迭代器)'''
    # lst = ["a","b","c"]
    # listvar.extend(lst)
    strvar = "123"
    listvar.extend(strvar)
    print(listvar)
    
    #
    # (1) pop 通过指定索引删除元素,若没有索引移除最后那个 (推荐)
    listvar = ["宗永玲","刘守乱","黄乐锡","卓冰洁"]
    # 指定索引
    # res = listvar.pop(2)
    # print(listvar)
    # print(res)
    
    # 不指定索引,默认删除最后一个
    res = listvar.pop()
    print(listvar)
    print(res)
    
    # (2) remove 通过给予的值来删除,如果多个相同元素,默认删除第一个
    listvar = ["宗永玲","刘守乱","黄乐锡","卓冰洁"]
    res = listvar.remove("刘守乱")
    print(res)
    print(listvar)
    
    # (3) clear 清空列表
    listvar.clear()
    print(listvar)
    
    # 列表其他操作
    # index 获取某个值在列表中的索引,找不到直接报错
    listvar = ["宗永玲","刘守乱","黄乐锡","卓冰洁"]
    res = listvar.index("黄乐锡")
    res = listvar.index("黄乐锡",1,4)# 从下标1开始找 , 找到下标3
    print(res)
    
    # count 计算某个元素出现的次数
    listvar = ["宗永玲","刘守乱","黄乐锡","卓冰洁","黄乐锡","黄乐锡"]
    res = listvar.count("黄乐锡")
    print(res)
    
    # sort 列表排序 (默认从小到大排序)
    listvar = [-1,3,89,-100]
    listvar.sort()
    print(listvar)
    
    # 从大到小排序
    listvar.sort(reverse=True)
    print(listvar)
    
    # 对字母进行排序 (字母一位一位比较,如果当前相同,在比较第二位)
    listvar = ["james","kobe","caixukun","yao","kuli","daivs"]
    listvar.sort()
    print(listvar)
    
    # 中文可以排序,无规律可循
    listvar = ["蔡徐坤","杀马特","葬爱家族","黄子稻"]
    listvar.sort()
    print(listvar)
    
    # reverse() 列表反转操作
    listvar = [1,2,False,99,"蔡徐坤"]
    listvar.reverse()
    print(listvar)
    列表相关函数操作 示例代码

    day06

  • 相关阅读:
    参考资料来自 懒兔子 的公众号
    Etcd
    zookeeper 杂记
    十二五
    防火墙
    APScheduler
    docker管理工具protainer
    java学习笔记
    linux学习笔记1
    [POI2007]ZAP-Queries
  • 原文地址:https://www.cnblogs.com/reachos/p/12138168.html
Copyright © 2011-2022 走看看