• Python 字典类型及相关操作


    字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

    字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    创建字典:     

    1
    2
    3
    4
    dic1={'name':'alex','age':36,'sex':'male'}
    dic2=dict((('name','alex'),))
    print(dic1)
    print(dic2)

    对应操作:

    1 增

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    dic3={}
     
    dic3['name']='alex'
    dic3['age']=18
    print(dic3)#{'name': 'alex', 'age': 18}
     
    a=dic3.setdefault('name','yuan')
    b=dic3.setdefault('ages',22)
    print(a,b)
    print(dic3)

    2 查

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    dic3={'name''alex''age'18}
     
    # print(dic3['name'])
    # print(dic3['names'])
    #
    # print(dic3.get('age',False))
    # print(dic3.get('ages',False))
     
    print(dic3.items())
    print(dic3.keys())
    print(dic3.values())
     
    print('name' in dic3)# py2:  dic3.has_key('name')
    print(list(dic3.values()))

    3 改

    1
    2
    3
    4
    5
    6
    dic3={'name''alex''age'18}
     
    dic3['name']='alvin'
    dic4={'sex':'male','hobby':'girl','age':36}
    dic3.update(dic4)
    print(dic3)

    4 删

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    dic4={'name''alex''age'18,'class':1}
     
     
    # dic4.clear()
    # print(dic4)
    del dic4['name']
    print(dic4)
     
    a=dic4.popitem()
    print(a,dic4)
     
    # print(dic4.pop('age'))
    # print(dic4)
     
    # del dic4
    # print(dic4)

    5 其他操作以及涉及到的方法

    5.1 dict.fromkeys

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    d1=dict.fromkeys(['host1','host2','host3'],'Mac')
    print(d1)
     
    d1['host1']='xiaomi'
    print(d1)
    #######
    d2=dict.fromkeys(['host1','host2','host3'],['Mac','huawei'])
    print(d2)
    d2['host1'][0]='xiaomi'
    print(d2)

    5.2  d.copy() 对字典 d 进行浅复制,返回一个和d有相同键值对的新字典

    5.3  字典的嵌套

     View Code

    5.4 sorted(dict) : 返回一个有序的包含字典所有key的列表

    1
    2
    dic={5:'555',2:'222',4:'444'}
    print(sorted(dic)) 

    5.5 字典的遍历  

    1
    2
    3
    4
    5
    6
    7
    8
    9
    dic5={'name''alex''age'18}
     
    for in dic5:
        print(i,dic5[i])
     
    for items in dic5.items():
        print(items)
    for keys,values in dic5.items():
        print(keys,values)

      

     还用我们上面的例子,存取这个班学生的信息,我们如果通过字典来完成,那:

    1
    2
    3
    4
    dic={'zhangsan':{'age':23,'sex':'male'},
         '李四':{'age':33,'sex':'male'},
         'wangwu':{'age':27,'sex':'women'}  
         }
     
  • 相关阅读:
    检测用户名和密码
    文本框赋值-数组的使用
    表单元素属性应用
    innerText和textContent区别以及兼容处理
    1.1自动化测试
    coockie & session
    springMVC 实现上传文件和下载文件
    el 表达式 显示错误 总结
    杭电oj_2063——过山车(java实现)
    关于java静态存储类的一个知识点
  • 原文地址:https://www.cnblogs.com/liuxiaowei/p/7163519.html
Copyright © 2020-2023  润新知