zoukankan      html  css  js  c++  java
  • Python字典数据类型详解

    Python字典数据类型详解

    字典也是一种主机的集合,有键值对组成,字典中的键不能重复
    字典中的键必须是不可变的数据类型,常用:字符串、整型

    字典定义

    • 使用{}定义 变量={键:值,键:值,键:值....}

    • 使用等关键字传参 变量={键=值,键=值,键=值....}

    • 数据类型的转换 变量=dict([['a',1],['b',2]...])

    • 压缩函数 zip()定义 变量=dict(zip(list1,list2))

    # 使用{}定义 变量={键:值,键:值,键:值....}
    vardict={'a':1,'b':2,'c':3}
    # 使用等关键字传参 变量={键=值,键=值,键=值....}
    vardict=dict(name='python',sex='男',age=99)
    # 数据类型的转换 变量=dict([['a',1],['b',2]...])
    vardict=dict([['name','python'],['sex','男'],['age',99]])
    # 压缩函数zip()
    var1=[1,2,3,4]
    var2=['a','b','c']
    vardict=dict(zip(var1,var2))
    print(vardict) # {1: 'a', 2: 'b', 3: 'c'}
    

    字典操作

    # 字典的操作
    vardict=dict(name='python',sex='男',age=99)
    
    # 获取元素
    res=vardict['name'] # python
    print(res)
    
    # 修改元素
    vardict['name']='java' # {'name': 'java', 'sex': '男', 'age': 99}
    print(vardict)
    
    # 删除元素
    del vardict['name']
    print(vardict) # {'sex': '男', 'age': 99}
    vardict.pop('sex')
    print(vardict)
    
    # 添加元素
    vardict['name']='python'
    print(vardict) # {'age': 99, 'name': 'python'}
    vardict['name']='java' # key重复数据被覆盖
    print(vardict) # {'age': 99, 'name': 'java'}
    
    # 检测key是否存在
    res='name' in vardict
    print(res) # True
    res='address' not in vardict
    print(res) # True
    
    # 获取字典长度
    print(len(vardict)) # 2
    
    # 获取字典中的所有key
    print(vardict.keys()) # dict_keys(['age', 'name'])
    
    # 获取字典中所有的value
    print(vardict.values()) # dict_values([99, 'java'])
    
    # 获取字典中所有的键值对
    print(vardict.items()) # dict_items([('age', 99), ('name', 'java')])
    
    # 遍历字典
    for k,v in vardict.items():
        print(k,v,end=' ') # age 99 name java
    print("==============")
    
    # 遍历字典key
    for k in vardict.keys():
        print(k,end=' ') # age name
    print('')
    # 遍历字典value
    for v in vardict.values():
        print(v,end=' ') # 99 java
        
        # dict.pop(),通过key删除字典中的键值对
    print(vardict.pop('name')) # 99 java python
    
    # dict.get(),使用get函数获取字典中不存在的元素不会报错
    print(vardict.get('sex')) # 男
    
    # vardict.update() 更新字典元素,对应的key存在则更新,不存在则添加,返回值为none
    print(vardict.update(name='java')) # None
    print(vardict) # {'sex': '男', 'age': 99, 'name': 'python'}
    print(vardict.update(name='python')) # None
    print(vardict) # {'sex': '男', 'age': 99, 'name': 'python'}
    
    

    字典推导式

    # 字典推导式
    vardict=dict(name='python',sex='男',age=99)
    # 字典中的key和value互换位置
    newdict={}
    for k,v in vardict.items():
        newdict[v]=k
    print(newdict)
    
    # 字典推导式,去除奇数键值对
    vardict={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6,'g':7,'h':8}
    newdict={k:v for k,v in vardict.items() if v % 2 == 0}
    print(newdict)
    
  • 相关阅读:
    MySQL查看表占用空间大小(转)
    Nginx搭建flv视频点播服务器
    Nginx SPDY Pagespeed模块编译——加速网站载入
    RAD,V模型
    java运算符的优先级
    union和union all的区别
    java数据的5种存储位置(转)
    java对象的初始化过程和创建对象的几种方式
    java异常的原理以及应用
    缓冲与缓存的概念(转)
  • 原文地址:https://www.cnblogs.com/hekaiqiao/p/15568343.html
Copyright © 2011-2022 走看看