zoukankan      html  css  js  c++  java
  • python中字典的增删改查及相关知识点

      1 '''
      2     数据划分:可变数据类型,不可变数据类型
      3     不可变数据类型:tuple,str,bool,int     可哈希
      4     可变数据类型: list, dict, set          不可哈希
      5     dict key:必须是不可变数据类型       可哈希
      6     dict value:  任意数据类型
      7     dict 优点:二分法去查找
      8                存储大量关系型数据
      9         特点: 无序的
     10 '''
     11 
     12 #》》》增
     13 
     14 #使用key增加,类似于list的索引改变值
     15 #但是list中的索引必须在范围内,dict不同
     16 
     17 dic1 = {
     18     'name' : 'python',
     19     'age' : '1981',
     20     'sex' : 'male'
     21 }
     22 dic1['sex'] = 'men'     #如果有键值则覆盖,如果没有键值则添加
     23 print(dic1)     #输出结果:{'name': 'python', 'age': '1981', 'sex': 'men'}
     24 
     25 
     26 dic1 = {
     27     'name' : 'python',
     28     'age' : '1981',
     29     'sex' : 'male'
     30 }
     31 dic1.setdefault('name','c')     #有键值不做任何改变,没有键值才添加
     32 dic1.setdefault('name1','java')     #无论有无键值,返回值为待添加的后面的键值
     33 print(dic1)                      #输出结果:{'name': 'python', 'age': '1981', 'sex': 'male', 'name1': 'java'}
     34 
     35 #
     36 
     37 #pop()方法
     38 dic1 = {
     39     'name' : 'python',
     40     'age' : '1981',
     41     'sex' : 'male'
     42 }
     43 dic1.pop('name')   #有这个键的话则默认返回值为键值‘python’
     44 print(dic1)        #输出结果:{'age': '1981', 'sex': 'male'}
     45 print(dic1.pop('name','没有这个'))    #如果没有需要删除的键,默认返回None,也可自定义  输出结果:没有这个
     46 
     47 #popitem() 随机删除一个键值对
     48 dic1 = {
     49     'name' : 'python',
     50     'age' : '1981',
     51     'sex' : 'male'
     52 }
     53 print(dic1.popitem())    #返回值为一个删除的键值对的元祖 输出结果:('sex', 'male')
     54 print(dic1)      #输出结果:{'name': 'python', 'age': '1981'}
     55 
     56 #clear()  清空字典,同list的clear差不多
     57 dic1 = {
     58     'name' : 'python',
     59     'age' : '1981',
     60     'sex' : 'male'
     61 }
     62 print(dic1.clear())   #输出结果:None
     63 print(dic1)           #输出结果:{}
     64 
     65 
     66 ###》》》》改
     67 
     68 #利用键值对修改,有键则覆盖,无键则添加
     69 
     70 #update     只可意会不可言传
     71 dic1 = {
     72     'name' : 'python',
     73     'age' : '1981',
     74     'sex' : 'male'
     75 }
     76 dic2 = {
     77     'name' : 'java',
     78     'hobby' : 'coding'
     79 }
     80 
     81 print(dic2.update(dic1))        #输出结果:None
     82 print(dic1)                 #输出结果:{'name': 'python', 'age': '1981', 'sex': 'male'}
     83 print(dic2)              #输出结果:{'name': 'python', 'hobby': 'coding', 'age': '1981', 'sex': 'male'}
     84 
     85 ##查
     86 
     87 dic1 = {
     88     'name' : 'python',
     89     'age' : '1981',
     90     'sex' : 'male'
     91 }
     92 print(dic1.keys())        #输出结果:dict_keys(['name', 'age', 'sex'])
     93 print(dic1.values())        #输出结果:dict_values(['python', '1981', 'male'])
     94 print(dic1.items())     #输出结果:dict_items([('name', 'python'), ('age', '1981'), ('sex', 'male')])
     95 
     96 #  get方法
     97 
     98 dic1 = {
     99     'name' : 'python',
    100     'age' : '1981',
    101     'sex' : 'male'
    102 }
    103 print(dic1.get('name','没有这个键'))      #输出结果:python
    104 print(dic1.get('name1','没有这个键'))       #输出结果:没有这个键
    105 
    106 #小知识点
    107 
    108 #》》》1《《《
    109 a, b = (1, 2)
    110 print(a,b)          #输出结果:1 2
    111 
    112 #》》》2《《《
    113 
    114 dic1 = {
    115     'name' : 'python',
    116     'age' : '1981',
    117     'sex' : 'male'
    118 }
    119 
    120 for k, v in dic1.items():
    121     print(k,v)          #输出结果:name python
    122                         #         age 1981
    123                         #         sex male
  • 相关阅读:
    201621123058《java程序设计》第八周学习总结
    201621123058《java程序设计》第七周学习总结
    201621123058《java程序设计》第六周学习总结
    201621123058《java程序设计》第五周学习总结
    关于HTK工具下载安装的问题
    load 和 loads的区别
    flask 数据库操作
    flask 计数器
    flask form表单
    flask 宏,继承和包含
  • 原文地址:https://www.cnblogs.com/rcat/p/9278991.html
Copyright © 2011-2022 走看看