• Python列表、元组、字典、集合的内置使用方法


    列表:
        是一种可以存储多个值得数据容器
        内容是有序的
        可以存储任何数据类型
        可以存储重复的元素
        是可变类型(当内容发生变化时id不变)
    
    元组:
        也是一种可以存储多个值得数据容器
        元组中的元素不可以被修改
        可以存储任何数据类型
        可以存储重复的元素
        是不可变类型
    
        元素和列表到底谁快?
            列表在增加和删除元素时都涉及到一个扩充容量和减少容量的操作,而元组没有这个过程,所以元组速度会略快列表
            例如:
                对列表调用一个pop方法和对元组直接取指
    
        元组的定义方式:
            变量名 =  (value1,value,...n)
            注:一旦元组被创建了,它的内容也就固定了
    
        index 可以找出某个元素在元组中的位置,如果没有直接报错
    
        count 统计元素在元组中出现的次数
    
    字典:
        字典是什么:
            可以存储多个键值对的数据容器
            键值对是: 以 key value形式存在的一对数据
            key必须是不可变的数据类型
            value可以是任意类型
            字典是可变的(内容可以被修改而且id不会变)
            key不可以重复
            value可重复
            字典是无序的
    
        字典定义的方式:
            1.变量名 = {key:value}
            2.变量名 = dict()
            3.变量名 = {}
            4.变量名 = dict(key=value)
        存储键值对到字典中
        在创建同时就可以指定
        加入新的键值对[key]=value     注:如果key已存在会更新对应的值
        字典名[key]=value
    
        字典名.setdefault[key,value]   注:如果字典中已经存在相同的key则什么都不做,否则就添加
    
    取值:
    
         通过key取出value           注:如果字典中没有所要取的key,程序奔溃
         print(字典[key]
    
         get 通过key取出value       注:如果字典中没有所要取得key,返回None
         print(字典.get(key))
    
         循环取值:
         每一次取到的是key
         for 变量名 in 字典:
            print(变量名)
    
        items 用于取出键值对,这些键值对被打包在一起
        for 变量名 in 字典.items():
            print(变量名)
    
        keys 用于取出所有键 key,取出的类型是dict_keys类型
        print(字典.keys())
    
        values 用于取出有的值 value,取出的类型是dict_values类型
        print(字典.values())
    
    
    删除键值对:
    
        1. del 通用删除方法,不会返回被删除的值
        del 字典[key]
    
        2. pop 自带删除方法
           根据key删除指定的[key:value],会返回被删除的值
        字典.pop(key)
    
        3. popitem 随机删除方法
           随机删除一个[key:value],会返回被删除的值
        字典.popitem()
    
    更新:
        update 如果字典A中有字典B的key,就不操作,如果没有就添加[key:value]
        字典A 字典B
        字典A.update(字典B)
    
    集合:
        集合是什么:
            可以存储多个值得数据容器
            特点:
                元素是无序的
                可变的
                不可以存储重复元素(id相同)
                只能存储不可变数据类型
        集合的定义方式:
            变量名 = {值1,值2,.....}
        集合更多的用在计算两个集合之间的关系的场景
    
        交集:
            写法1:
                & 取出两个集合中相同的元素
                print(集合A & 集合B)
            写法2:
                intersection
                print(集合A.intersection(集合B))
            求两个结果的交集并用结果更新集合B
            print(集合A.intersection_update(集合B))
            后面加_update(意思就是将结果复制给(集合B),集合B的原值全部清除
        并集(合集):
            写法1:
                | 合并两个集合中所有的元素(有重复的元素只显示一个元素)
                print(集合A | 集合B)
            写法2:
                union
                print(集合A.union(集合B))
    
        差集:
            写法1:
                - 求出两个集合中相差的元素(注: 多的集合减少的集合能得出差集,如果少的差集减多的差集返回空)
                print(集合A - 集合B)
            写法2:
                difference
                print(集合A.difference(集合B))
                求两个结果的差集并用结果更新集合B
            print(集合A.difference_update(集合B))
            后面加_update(意思就是将结果赋值给(集合B),集合B的原值全部清除
        对称差集:
            写法1:
                ^ 除了交集以外的元素都是对称差集
                print(集合A ^ 集合B)
            写法2:
                symmetric_difference    后面可加_update
                print(集合A.symmetric_difference(集合B))
    
        子集:
            issubset
            print(集合A.issubset(集合B))
            集合A中的所有元素都出现在了集合B中,集合A就是集合B的子集
        父集:
            issuperset
            print(集合B.issuperset(集合A))
            集合B中包含了集合A中的元素,集合B就是集合A的父集
        无交集:
            isdisjoint
            print(集合A.isdisjoint(集合B))
            无交集返回Ture,有交集返回False
    
    添加元素:
        add
        print(集合.add())
    
        update()
        一次添加多个值
    
    删除:
        随机删除:
            .pop()
        删除指定元素:
            .remove()
            没有找到要删除的元素程序会奔溃
    
            .discard()
            没有找到要删除的元素程序不会奔溃
    
    移除空白:
     strip()   取出字符串两边的空格
    lstrip()   取出字符串左边的空格
    rstrip()   取出字符串右边的空格
    可以添加参数 指定要去除的字符串
    
    切分:
    split()    括号中第一个参数表示用什么作为分割符,第二个参数表示切几次
    rsplit()   从右往左切
    没有参数则代表使用空格作为分隔符
    
    字符串替换:
    replace()  括号中第一个参数表示旧的内容,第二个参数表示新的内容
    
    大小写转换:
    upper()    转换成全大写
    lower()    转换成全小写
    isupper()  判断是否全大写
    islower()  判断是否全小写
    title()    单词首字母转成大写
    istitle()  判断单词首字母是否大写
    capitalize() 将首字母转化成大写
    swapcase() 大小写交换
    
    判断字符串开头结尾:
    startswith() 判断字符串是否以某个字符串开头
    endswith() 判断字符串是否以某个字符串结尾
    
    字符串的链接:
    split() 字符串转换成列表("括号中需要定义一个分隔符")
    join() 将列表转换成字符串 "格式: X="|".join(list)
    
    格式化字符串:
    format()
    {}   根据占位符来进行替换
    {index}  根据指定的索引进行替换
    {name} 根据指定的名字进行替换
    例如:   my name is {}  age is {} ”.format(参数1....,参数n)
               print("my name is %s age is %s" % ("yyh","20"))
               print("my name is {name} age is {age}".format(name="yyh",age="20"))
    
    查找:
    find 查找一个字符串出现在另一个字符串中的位置 如果没有返回-1
    rfind 从右往左查找一个字符串出现在另一个字符串中的位置 如果没有返回-1
    index 查找一个字符串出现在另一个字符串中的位置 如果没有直接报错
    rindex从右往左查找一个字符串出现在另一个字符串中的位置 如果没有报错
    count 查找一个字符串出现在另一个字符串中的次数
    
    填充:
    center 在内容左右添加相同长度的字符 使内容居中
    rjust  在右边添加符号 使其达到指定的长度
    ljust  在左边添加符号 使其达到指定的长度
    zfill在 左边添加0 使其达到指定的长度
    
    is数字系列:
    isdigit    如果S中的所有字符都是数字,并且在S中至少有一个字符,则返回True
    isdecimal 如果S中只有十进制字符,则返回True,否则为False
    isnumeric 如果S中只有数字字符,则返回True,否则为False。
    
    追加:
    append 用于在列表末尾添加新的对象。
  • 相关阅读:
    DML数据操作语言练习
    表的操作练习
    20151218--地区导航习题
    20151217--Ajax的一点补充
    02151216--Ajax
    json(转)
    Node.js(转) -- 临时来说还看不懂!
    20151113--JSTL
    20151210--MVC
    链表(转)
  • 原文地址:https://www.cnblogs.com/earon/p/9372107.html
Copyright © 2020-2023  润新知