zoukankan      html  css  js  c++  java
  • 元组,字典,集合

    元组

    基本使用:tuple
    用途:记录多个值,当多个值没有改的需求,此时用元组更合适
    定义方式:在()内用逗号分隔开多个任意类型的值
    元组有排列顺序,是不可变类型
    
    #1、按索引取值
    正索引可以正向取和负索引可以反向取,不能改只能取
    
    #2、切片(顾头不顾尾,步长)
    元组[索引位:索引位:步长]
    左边的固定就是头,右边固定就是尾  没有按数字来分头尾,步长不写默认是1
    切片取值默认是从左往右的
    正步长左索引位需比右索引位小
    负步长左索引需比右索引大
    
    #3、长度
    len(元组)
    
    #4、成员运算in和not in  
    判断一个元素是否存在于元组中
    
    #5、循环
    for循环遍历元组中每个元素
    
    # count()
    统计元素在元组中出现的次数
    
    # index()
    index(元素,头,尾) 头,尾是索引的范围不传查找所有,返回结果是所传元素所在的索引值

    字典

    # 1 用途:记录多个值,每一个值都对应的key用来描述value的作用
    # 2 定义方式:在{}内用逗号分隔开多个key:value,其中value可以是任意类型,而key必须是不可变的类型,通常情况下应该str类型
    强调:字典的key是不能重复的 要唯一标识一条数据
    # 如果重复了 只会按照最后一组重复的键值对存储
    字典是无序排列的是可变类型    
    
    # 定义字典的三种方式
    以{}套key:值以逗号隔开
    # d1 = {'name':'jason','password':123}
    
    以{}套key=值以逗号隔开
    # d2 = dict(name='jason',password=123,age=18)
    以大列表套多个小列表,各小列表里以键,值存储2各元素
    直接dict(大列表)或定义一个空字典,for循环出各小列表中键和值以空字典名[键]=值存入空字典
    # 了解即可
    # l = [
    #     ['name','jason'],
    #     ['age',18],
    #     ['hobby','read']
    # ]
    # d = {}
    # # for i in l:  # ['name','jason'],['age',18]...
    # for k,v in l:  # ['name','jason'],['age',18]...
    #     # d[i[0]] = i[1]
    #     d[k] = v
    # print(d)
    # d3 = dict(l)
    # print(d3)
    
    
    #优先掌握的操作:
    #1、按key存取值:可存可取 ,键名不存在会报错,字典取值推荐用get方法
    存 dict[键名] = 值
    取 dict[键名]
    
    #2、长度len
    # 统计的键值对的个数
    len(dict)
    
    #3、成员运算in和not in   对于字典来说只能判断key值
        
    #4、删除
    dict.pop(key)  弹出结果仅仅是value,当键不存在的时候直接报错  
    dict.clear()清空字典
    
    #5、键keys(),值values(),键值对items()
    dict.keys()          取出字典的所有键形成一个列表
    dict.values()   取出字典的所有值形成一个列表
    dict.items()    取出字典的所有键值对结果是列表套元组形式,元组的第一个元素是字典的key 第二个元素是字典的value
    
    #6、循环
    字典的for循环只能循环出字典的key
    
    # dict.get(key)
    根据key获取value
    当字典的key不存在的情况 不报错 返回None
    get可以传第二个参数。当你的key不存在的情况下,返回第二个你写好的参数信息,不写默认返回None
    
    # dict.fromkeys()  快速的创建一个字典
    可以传2个参数
    第一个参数传入字符串,以每个字符当键
    第一个参数传入容器类数据,以每个元素当键
    第二个参数为值的默认值不传默认为None
    
    # dict.popitem() 以元组的形式弹出字典尾部键值对
    
    # dict.setdefault(键,值) 
    当字典键已存在的情况下 不修改值 并且将原先key对应值返回给你
    当键不存在的情况下 新增一个键值对 并且将新增的键值对的值返回给你
    
    # dict.update()
    参数可以传入另一个字典,将键值对添加到字典中
    也可以传入键=值,添加新键值对

    集合

    #  用途: 关系运算,去重
    #  定义方式: 在{}内用逗号分开个的多个值
    # 集合的三大特性:
    # 每一个值都必须是不可变类型
    # 元素不能重复
    # 集合内元素无序
    
    # 优先掌握的操作:
    # 1、长度len
    len(set)
    # 2、成员运算in和not in
    
    # 3、|合集 set1 | set2    两个集合所有的元素
    # 4、&交集  set1 & set2   两个集合共有的元素
    # 5、-差集  set1 - set2  set1在set2没有的元素
    # 6、^对称差集   set1 ^ set2  两个集合不是共同拥有的元素
    # 7、==    set1 == set2  两个集合元素是否相等
    # 8、父集:>,>=  set1 > set2   set1 >= set2    set1是否包含set2
            set.issuperset(set)
    # 9、子集:<,<=   set1 < set2  set1 <= set2    set2是否包含set1
            set.issubset(set)
     add()

  • 相关阅读:
    批量新增百万条数据 十百万条数据
    sqlserver 组内排序
    EF ++属性会更新实体
    Entity Framework Core: A second operation started on this context before a previous operation completed
    abp Cannot access a disposed object. A common cause of this error is disposing
    abp xunit Can not register IHostingEnvironment. It should be a non-abstract class. If not, it should be registered before.”
    hangfire enqueued but not processing(hangfire 定时任务入队列但不执行)
    EF 更新实体 The instance of entity type 'BabyEvent' cannot be tracked because another instance
    datatable to entiy list 不支持可空类型和枚举类型
    webapi 设置不显示接口到swaggerUI
  • 原文地址:https://www.cnblogs.com/george-007/p/11134981.html
Copyright © 2011-2022 走看看