• 【字符串-列表-元组相关函数和方法】


    列表相关操作

    (1)列表的拼接   (同元组)
    (2)列表的重复   (同元组)
    (3)列表的切片   (同元组)
    语法 => 列表[::]  完整格式:[开始索引:结束索引:间隔值]
    	(1)[开始索引:]  从开始索引截取到列表的最后
    	(2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
    	(3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
    	(4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
    	(5)[:]或[::]  截取所有列表
    (4)列表的获取   (同元组)
    (5)列表的修改   ( 可切片 )
    (6)列表的删除   ( 可切片 )
    

    列表的相关函数

    append()

    功能:向列表的末尾添加新的元素
    格式:列表.append(值)
    返回值:None
    注意:新添加的值在列表的末尾,该函数直接操作原有列表
    

    insert()

    功能:在指定索引之前插入元素
    格式:列表.insert(索引,值)
    返回值:None
    注意:直接改变原有列表
    

    extend()

    功能:迭代追加所有元素
    格式:列表.extend(可迭代性数据)
    返回值:None
    注意:直接改变原有列表
    

    pop()

    功能:通过指定索引删除元素,若没有索引移除最后那个
    格式:列表.pop(索引)
    返回值:删除的元素
    (注意:没有指定索引,默认移除最后一个元素 )
    

    remove()

    功能:通过给予的值来删除,如果多个相同元素,默认删除第一个
    格式:列表.remove(值)
    返回值:无
    (注意:如果有索引的情况推荐使用pop,效率高于remove)
    

    clear()

    功能:清空列表
    格式:列表.clear()
    返回值:空列表
    

    index()

    功能:获取某个值在列表中的索引
    格式:列表.index(值[,start][,end]) # []  表达参数可选项 
    返回值:找到返回索引  (找不到报错)
    

    count()

    功能:计算某个元素出现的次数
    格式:列表.count(值)
    返回值:次数
    

    sort()

    功能:列表排序(默认小到大排序)
    格式:列表.sort(reverse=False)                        
    返回值:None
    注意:直接更改原列表
    

    reverse()

    功能:列表反转操作
    格式:列表.reverse()
    返回值:None
    注意:直接更改原列表
    

    深拷贝浅拷贝

    #copy模块中有 浅拷贝 和 深拷贝 两种方法
    (1)浅拷贝:  浅拷贝只拷贝外层列表  内层列表跟随原列表进行改变
    	# 浅拷贝copy.copy(listvar) 或者 listvar.copy()
    (2)深拷贝:  拷贝整个列表  内外列表都不跟随原列表进行改变
    	# 深拷贝copy.deepcopy(listvar)
    注意:copy模块的copy方法 和 python内置的函数copy一样 都是浅拷贝
    

    元组相关操作和方法

    元组的相关操作除了不能修改和删除其中的元素之外 , 剩下操作都和列表相同.
    元组里面能用的方法只有 index 和 count 

    #列表的相关操作同(字符串,元组)
    # 列表的拼接+,列表的重复*,列表的切片[:::][开始索引:结束索引:间隔值],列表的获取,删除,修改
    lst1=["a","b","c"]
    lst2=["d","e","f"]
    print(lst1+lst2)#['a', 'b', 'c', 'd', 'e', 'f']

    lst1=["abc","def"]
    print(lst1*3)#['abc', 'def', 'abc', 'def', 'abc', 'def']
    """
    语法 => 列表[::] 完整格式:[开始索引:结束索引:间隔值]
    (1)[开始索引:] 从开始索引截取到列表的最后
    (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
    (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
    (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
    (5)[:]或[::] 截取所有列表
    """
    lst=["张","王","(1,2,3)","马","李",{"name":"小马"}]
    res=lst[:]
    print(res)#['张', '王', '(1,2,3)', '马', '李', {'name': '小马'}]
    res=lst[:2]
    print(res)#['张', '王']
    res=lst[1:4:2]
    print(res)
    res=lst[-1:-6:-2]
    print(res)#[{'name': '小马'}, '马', '王']
    res=lst[::-1]
    print(res)#[{'name': '小马'}, '李', '马', '(1,2,3)', '王', '张']

    #format格式化字符串(1顺序传参,2,索引传参,3,关键字传参,4,容器类型(列表,元组,字典传参))
    str="{}年真的是特别{}的一年"
    res=str.format(2020,"糟心")
    print(res)#2020年真的是特别糟心的一年
    str="特别{1}的一年{0}年真的是"
    res=str.format(2020,"糟心")
    print(res)#特别糟心的一年2020年真的是
    str='2010年{who}向{who1}借了{money}块钱,一直没换'
    res=str.format(who='什么龙',who1="小马",money=300)
    print(res)#2010年什么龙向小马借了300块钱,一直没换
    #容器类型传参
    str='2010年{0[1]}向{1[0]}借了{2[0]}块钱,一直没换'
    res=str.format(["什么龙","什么伟"],("小马","兔子"),("500",))
    print(res)#2010年什么伟向小马借了500块钱,一直没换
    #方法二
    str='2010年{name[1]}向{username[0]}借了{money[0]}块钱,一直没换'
    res=str.format(name=["什么龙","什么伟"],username=("小马","兔子"),money=("500",))
    print(res)
    # 方法三 (字典 在format当中,不要加上引号)
    strvar = "{woman[sm]}向{man[0]}抛了一个眉眼,鼻血直冒三万多尺,喷血而亡."
    res = strvar.format( woman = {"cr":"陈芮","sm":"刘思敏"} , man = ("黄俊","朱佳怡"))
    print(res)

    ###format的填充符号的使用(^,>,<):(原字符串居中,原字符串居右,原字符串居左)({who:!<10})
    strvar="{who:*^10}在北京的书生公司上班,职位为{company:&<10},干了{many:?>9}年了,准备养老了"

    res=strvar.format(who="小亮",company="测试工程师",many="13")
    print(res)#****小亮****在北京的书生公司上班,职位为测试工程师&&&&&,干了???????13年了,准备养老了
    ###进制转换等特殊符号的使用(:d,:s,:f :,)
    strvar="{:s}看上了一辆SUV,打算买{:<5d}台,需要{:.2f}万元,银行卡里还剩下{:,}元"
    res=strvar.format("欣欣",10,9.9,1000000)
    print(res)

    #字符串相关函数
    # capitalize,title,upper,lower,swapcase,len,count,find,index,starswith,endswith,is 为系列函数
    strvar="what is you Name"
    res=strvar.capitalize()
    res1=strvar.title()
    res2=strvar.upper()
    res3=strvar.swapcase()
    res4=len(strvar)
    #统计某个字符串中某个元素的数量
    res5=strvar.count("a")
    print(res,res1,res2,res3,res4)
    print(res5)
    #find查找某个字符串第一次出现的索引位置find(字符,start,end)
    #index 和find功能相同,找不到直接报错
    strvar="my dad is 66 years old,but,my dad looks very young"
    res=strvar.find("my",2,20)
    print(res)
    #startswith endswith判断是否以某个字符或者字符串为开头或则结尾,返回TrueorFasle,endswith(字符,start,with)
    strvar="my dad is 66 years old,but,my dad looks very young"
    res=strvar.startswith("my")
    print(res)
    #is系列函数,isdecimal是否是纯数字
    strvar="Today Is Moday"
    res=strvar.isupper()
    print(res)
    strvar="today is monday"
    res=strvar.islower()
    print(res)
    strvar="1122222"
    res=strvar.isdecimal()
    print(res)
    ####split,join ,strip,replace
    #split#按某字符将字符串分割成列表,(默认字符时空格)
    strvar="今^&天心情很不爽,被商家欺骗了"
    strvar1="11111"
    res=strvar.split("&")
    print(res)#['今^', '天心情很不爽,被商家欺骗了']
    strvar="你 今 天太棒 了"
    #可以选择分割几次,从左向右
    res=strvar.split(" ",2)
    print(res)#['你', '今', '天太棒 了']
    #join按照某个字符将列表拼接成字符串(容器类型都可以)
    lst1=["每天都要好心情"]
    lst2=["你说对吗","老铁"]
    print("****".join(lst2))#你说对吗****老铁
    ##center填充字符串,原字符串居中(默认填充空格),strip默认去掉首尾两边的空格,replace默认把字符
    # 串中的旧字符换成新字符
    v1="很爱很爱你"
    res=v1.center(20)
    print(res)
    #replace("旧的","新的")
    strvar = "a b c"
    res = strvar.replace(" ","")
    print(res)


  • 相关阅读:
    第三周课程总结&实验报告
    2019春学习总结
    第十二周
    第十一周
    第十周
    第九周
    第八周作业
    第七周作业
    实验报告3&学习总结
    实验报告2
  • 原文地址:https://www.cnblogs.com/bonnyxinxin/p/13209996.html
Copyright © 2020-2023  润新知