zoukankan      html  css  js  c++  java
  • Python基本数据结构之字典

    定义:

    {key1:value1,key2:value2}

      1、键与值用冒号“:”分开;

      2、项与项用逗号“,”分开;

    示例:

    1 dic4={
    2     'name': 'xiaohu', 
    3     'age': 20,
    4     'hobby': 'girl'
    5 }

    特性:

    1、key-value结构

    2、key必须为不可变数据类型、必须唯一

    3、可存放任意多个value、可修改、可以不唯一

    4、无序

    查询速度快,且不受dict的大小影响,至于为何快?我们学完hash再解释。

    字典两大特点: 无序,键唯一

    dic = {1:'xiaohu','age':'20','hobby':{'name':'铁锤','age':45},'is_handsome':True}

    print(dic)
    print(dic['hobby']) # 字典和元祖都不可以做为键 因为他们都是可变的 字典可以作为后面的值


    创建字典
    1 dic3 = dict((('2','xiaohu'),)) #调用dict函数
    2 print(dic3)
    
    
    字典的操作

    1、增

    (1)直接新增键值对
    1 dic1={'name':'xiaohu'}
    2 dic1['age']=20
    3 print(dic1) #增加一个
    (2)利用函数setdefault()进行添加

    2、查

    (1)
    dic[''] 直接利用key来查值
    dic.keys()   dic.values()     dic.items()
    1 dic4={'name': 'xiaohu', 'age': 20, 'hobby': 'girl'}
    2 print(dic4['name'])
    3 
    4 print(dic4.keys()) # 通过keys方法来查看字典里所有的键,但是注意的是拿出来的不是一个列表 dict_keys(['name', 'age', 'hobby'])
    5 print(type(dic4.keys())) #<class 'dict_keys'>
    6 print(list(dic4.keys())) # ['name', 'age', 'hobby'] 将它转换成列表
    7 print(list(dic4.values())) #['xiaohu', 20, 'girl'] 将它的值拿出来并且转换成列表
    8 print(list(dic4.items())) # [('name', 'xiaohu'), ('age', 20), ('hobby', 'girl')]

    3、
    改 update
    1 dic4={'name': 'xiaohu', 'age': 20, 'hobby': 'girl'}
    2 dic4['age']=21
    3 print(dic4) #{'name': 'xiaohu', 'age': 21, 'hobby': 'girl'}
    4 dic5={'1':111,'age':'2222'}
    5 dic4.update(dic5) # 将dic5加入到idc4中去,dic4发生改变,dic5不发生改变, 若有重复的键,将覆盖其值
    6 print(dic4) # {'name': 'xiaohu', 'age': '2222', 'hobby': 'girl', '1': 111}
    7 print(dic5) # {'1': 111, 'age': '2222'}
    
    

    4、删 del clear pop popitem

     1 dic6={'name': 'xiaohu', 'age': 20, 'hobby': 'girl','height':'180'}
     2 # del dic6['name'] # 删除的是一个键值对
     3 # print(dic6)
     4 
     5 # dic6.clear() #删除一整个字典 字典删除后为空
     6 
     7 # print(dic6.pop('age')) # 删除某一个索引,返回删除的值
     8 # print(dic6)
     9 
    10 a=dic6.popitem() # 删除的是随机的
    11 print(a,dic6)

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

    1 dic7=dict.fromkeys(['host1','host2','host3'],'test')
    2 print(dic7) # {'host1': 'test', 'host2': 'test', 'host3': 'test'}
    3 dic8=dict.fromkeys(['host1','host2','host3'],['test','test2'])
    4 print(dic8) # {'host1': ['test', 'test2'], 'host2': ['test', 'test2'], 'host3': ['test', 'test2']}

    6、后话  字符串拼接 join方法

    1 a='123'
    2 b='abc'
    3 e='444'
    4 c=a+b
    5 print(c) # 123abc
    6 d='---'.join([a,b,e]) # 通过‘---’将字符串拼接
    7 print(d)  # 123---abc---444

     7、字典与字符串的转换 利用eval()函数转换成字典

    1 a=str({'beijing':{'1':1111}}) # 将字典类型转换成字符串类型,使之可以存到文件里
    2 print(type(a))
    3 print(a)
    4 a=eval(a)  # 使用eval()函数将字符串转换成字典类型,为了操作从文件取出来的字符串类型的字典进行操作,否则操作报错
    5 print(type(a))
    6 print(a['beijing'])
  • 相关阅读:
    最近在项目中使用ibatis小结
    35 岁前程序员要规划好的四件事
    C# webbrowser小结
    高并发网站架构
    高斯混合模型(GMM)
    EM算法学习(Expectation Maximization Algorithm)
    如何用CSS3美化菜单
    Intellij IDEA配置自动同步到FTP服务器
    Mac 快速休眠关机重启锁屏
    JavaScript并行运算新机遇——Web Workers的神奇魔法
  • 原文地址:https://www.cnblogs.com/wyh-study/p/11323817.html
Copyright © 2011-2022 走看看