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

  • 相关阅读:
    C++中整型变量的存储大小和范围
    A1038 Recover the Smallest Number (30 分)
    A1067 Sort with Swap(0, i) (25 分)
    A1037 Magic Coupon (25 分)
    A1033 To Fill or Not to Fill (25 分)
    A1070 Mooncake (25 分)
    js 获取控件
    C#代码对SQL数据库添加表或者视图
    JS 动态操作表格
    jQuery取得下拉框选择的文本与值
  • 原文地址:https://www.cnblogs.com/reachos/p/12138168.html
Copyright © 2011-2022 走看看