• PY基础之字典的内置方法


    PY基础之字典的内置方法

    1. 作用

    对于值添加描述信息使用他

    2. 定义方式

    用{}以逗号隔开加入键值对key:value

    info_dict = {'name': 'wangdapao', 'age': 18, 'height': 120, 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
    

    3. 内置方法

    info_dict = {'name': 'wangdapao', 'age': 18, 'height': 120, 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
    
    for i in info_dict:  # 遍历字典key
        print(i)
    
    for i in info_dict.items():  # 遍历字典键值对
        print(i)
    
    for i in info_dict.values():  # 遍历字典value值
        print(i)
    
    for k,v in info_dict.items():  # 遍历字典键值对并且将k,v分开打印
        print(k,v)
    
    info_dict.pop('name')  # 删除指定key对应的键值对,找不到key会报错
    print(info_dict)
    
    info_dict.popitem()  # 删除字典最后一个键值对
    print(info_dict)
    
    info_dict = {'name': 'wangdapao', 'age': 18, 'height': 120, 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
    
    print(info_dict.get('name'))  # 返回key对应的值
    print(info_dict.get('shabi'))  # 找不到key则返回None
    
    info_dict.setdefault('gender',123)  # 若字典里存在,则不变,若没有,则追加一个键值对
    print(info_dict)
    info_dict.setdefault('傻逼',123)  # 若字典里存在,则不变,若没有,则追加一个键值对
    print(info_dict)
    
    info_dict.update({'tank':'666'})  # 追加一个新的键值对
    print(info_dict)
    
    # fromkeys由dict.出来,快速造一个字典
    print(dict.fromkeys(['a',2,3,4,5],'nick'))  
    # {'a': 'nick', 2: 'nick', 3: 'nick', 4: 'nick', 5: 'nick'}
    
    # 字典实例:词频统计
    gift = ['a','b','a','c','x','x','y','y','z','z','c','a','y','y','y','a','z']
    count = {}
    for i in gift:
        if count.get(i) is None:
            count[i] = 1
        else:
            count[i] += 1
    print(count)
    # {'a': 4, 'b': 1, 'c': 2, 'x': 2, 'y': 5, 'z': 3}
    # 进阶:打印前三高频字母
    def func(i):
        return i[1]
    lis = list(count.items())
    lis.sort(key=func)
    lis.reverse()
    print(lis[:3])
    

    4. 存一个值还是多个值

    多个值

    5. 有序or无序

    无序

    6. 可变or不可变(重点)

    可变

  • 相关阅读:
    C# 获取程序当前路径
    主线程等待子线程执行二
    ADO.NET Entity Framework Code Fisrt 开篇(一)
    解决Eclipse java was started but returned exit code = 1问题
    windows 下YII框架初试
    hadoop的partitioner
    YII 学习一: YII 初试
    linux 文件大小ll和du不一致问题
    [转载]PyDev for Eclipse 简介
    python 常用代码学习笔记之commands模块
  • 原文地址:https://www.cnblogs.com/dadazunzhe/p/11303998.html
Copyright © 2020-2023  润新知