zoukankan      html  css  js  c++  java
  • 集合(字典)

    # 集合就是字典,数据类型都是set,是通过set来创建
    # 两个功能:1去重 2关系测试 3无序

    s=set([1,3,"hello"])
    s2={1,2,3}

    print(type(s))
    print(type(s2))
    print(s2)

    # 去重
    l=[1,2,2,34,56]
    print(set(l))

    # set是可变数据类型
    # print({{1,2}:"hello"}) # 运行时报错
    # print({[1,2]:"hello"}) # 运行时报错

    # set集合一定是不可变数据类型
    # ll={1,2,2,[3,4.5]} # 报错,因为列表是可变数据类型
    po={1,2,3,4,5,6}

    # 关系测试
    s1={"hello","1",2,3,}
    s2={1,2,("a","b")} # 元组是不可变数据类型

    # 求并集
    s1.union(s2)
    print(s1)
    print(s1.union(s2))
    print(s1|s2) #也可以这样求并集

    # 求交集
    print(s1.intersection(s2))
    s1&s2 #也可以这样求交集

    # 差集
    print(s1.difference(s2))
    print(s1-s2)

    # 对称差值
    print(s1.symmetric_difference(s2))
    print(s1^s2)

    -----------------------------------------------------------------
    # python中唯一具有映射关系的数据类型:字典的查询效率高于列表
    d={"name":"alex"} # name是唯一的
    d={"name":"alex","name":"xie"} # 这样不报错,但xie会覆盖alex
    #d={[1,2,3]:"yang","name":"egon"} # 主键唯一且不可变数据类型,例如字典、列表就可变,[]报错
    #d={{}:"yang","name":"egon"} # 主键唯一且不可变数据类型,例如字典、列表就可变,[]报错
    d={"1":"yang","name":"egon"} # 主键唯一且不可变数据类型,例如字典、列表就可变,[]报错
    # "egon"不限什么类型,什么内容都行
    print(d["name"])
    v=d.get("name",None) #如果取不到,将用none代替
    print(v)
    print(type(None))

    # 布尔值:非0都是true,验证
    print(bool(-1))
    print(bool([])) # 空内容为flase
    print(bool([1,])) # 如果里面只有1个数时,一定要用“,”结尾,否则告诉程序这个是列表,元组也是,否则后面会导致一些错误
    print(bool(None)) # None为flase


    # print(d["name"]) #如果没值就会系统报错

    v=d.get("nameddd",None)
    print(v)

    if not v: # 如果v=None
    print("blank")
    pass

    # 遍历for循环
    for i in "hello":
    print(i)
  • 相关阅读:
    .net 命名规范
    解决Swagger刷新后不能保持登录问题
    修改表结构后视图错位问题
    创建.net api文档
    编写.net core tools教程
    VuePress 侧边栏几种配置
    VS 好用快捷键
    Jenkins 修改端口
    获取当前被调用的方法
    遇到异常 add-migration Build failed 解决办法
  • 原文地址:https://www.cnblogs.com/jensenxie/p/8457746.html
Copyright © 2011-2022 走看看