zoukankan      html  css  js  c++  java
  • Python基础(4)_字典、集合、bool值

    三、字典

    定义:{key1:value1,key2:value2},key-value结构,key必须是不可变类型,或者可hash
        基本形式:key:value
    特性:

      1.可存放多个值
      2.可修改指定key对应的值,可变
      3.无序

    字典的创建:

      person = {"name": "sb", 'age': 18}  或    person = dict(name='sb', age=18)

      person = dict({"name": "sb", 'age': 18})
      person = dict((['name','sb'],['age',18]))
      {}.fromkeys(seq,100) #不指定100默认为None

    注意:

    1 >>> dic={}.fromkeys(['k1','k2'],[])
    2 >>> dic
    3 {'k1': [], 'k2': []}
    4 >>> dic['k1'].append(1)
    5 >>> dic
    6 {'k1': [1], 'k2': [1]} 

    字典常见操作函数:

    #新增或更改
    d={}
    d['x']=1
    print(d)
    
    #删除
    d.pop('x')    #pop删除,可返回values值
    d.popitem()    #随机删除键值对,删除的值为元组
    
    #键、值、键值对
    d.keys()
    d.values()
    d.items()
    
    #循环
    d={'x':1,'u':2}
    for k in d:
        print (k,d[k])
    
    #长度
    d={'x':1,'u':2}
    print(len(d))
    
    #成员运算
    d={'x':1,'u':2}
    
    print('x' in d)
    print(1 in d.values())    

    键值对转化为元祖:

    取字典key

    取字典values

     

    setdefault 只能添加没有的key值

     

    update 更新字典,有key值覆盖,没有追加,原字典不变

     

    四、集合

    集合的作用

      一:关系运算

       二:去重 

    定义集合:
      集合内的元素必须是唯一的;
       集合内的元素必须是可hash的,也是就不可变类型;
      集合是无序的
       s={'egon',123,'egon','1'}     #s=set({'egon',123,'egon','1'} )
      # print(s,type(s))

    循环:

    # s={'1',1,(1,2),'a','b'}
    #
    # for i in s:
    #     print(i)

    关系运算:

    #关系运算
    python_s={'egon','alex','钢蛋','老王'}
    linux_s={'alex','钢蛋','欧德博爱','艾里科四'}
    
    #取共同部分:交集
    # print(python_s & linux_s)
    
    # #取老男孩所有报名学习的学生:并集
    # print(python_s | linux_s)
    
    # #取只报名了python课程的学生:差集
    # print(python_s - linux_s)
    
    #取只报名了linux课程的学生:差集
    # print(linux_s - python_s)
    
    #取没有同时报名python和linux课程的学:对称差集
    # print(linux_s ^ python_s)

    集合方法:

     1 # python_s={'egon','alex','钢蛋','老王'}
     2 # linux_s={'alex','钢蛋','欧德博爱','艾里科四'}
     3 
     4 # print(python_s.intersection(linux_s))# 交集:python_s & linux_s
     5 
     6 # print(python_s.union(linux_s))#并集:|
     7 
     8 # print(python_s.difference(linux_s)) #python_s-linux_s
     9 
    10 # print(python_s.symmetric_difference(linux_s))# 对称差集,python_s ^ linux_s
    11 
    12 运行结果:
    13 # python_s={'egon','alex','钢蛋','老王'}
    14 # linux_s={'alex','钢蛋','欧德博爱','艾里科四'}
    15 # python_s.difference_update(linux_s)
    16 # print(python_s)

    update 追加覆盖,无返回值

    add 追加,无返回值

    diacard删除,以元素名删除,没有,不报错

    remove 删除,没有报错

    pop 随机删除,没有参数

     

     issubset 判断s1是否是s2的子集

     

     issuperset 判断s1是否是s2的父集

     

    isdiajoint() 判断是否有交集,没有交集返回 True

     

     总结:

    1.可变不可变

    可变:列表,字典

    不可变:数字,字符串,元组

    2.存放值的个数

    一个值:数字,字符串

    多个值(容器类型):列表,元组,字典

    3.取值方式

    直接取值:数字

    序列类型:字符串,元组,列表

    映射类型:字典

    六、bool值

    所有的数据类型自带布尔值,只有0,None,空的布尔值为False

    1 while 1:
    2     cmd=input('>>: ')
    3     if not cmd:
    4         continue
    5     print('========>cmd',cmd)

     

  • 相关阅读:
    注解的那些事儿(三)| 注解的使用
    注解的那些事儿(二)| 如何自定义注解
    注解的那些事儿(一)| 为什么要使用注解?
    数据库历险记(三) | 缓存框架的连环炮
    书值 | 第 2 期:成为技术管理者,思维上应该如何转变?
    书值 | 第 1 期:如何在1年内完成大学四年的课程?
    网站被篡改详细处理方法
    【代码审计】任意文件读取漏洞实例
    XSS三重URL编码绕过实例
    代码审计之DocCms漏洞分析
  • 原文地址:https://www.cnblogs.com/hedeyong/p/7050130.html
Copyright © 2011-2022 走看看