python - 字典dict

字典的常规使用方式整理!

字典初始化

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

def test() -> None:
    # 方式1:空字典
    my_dict1: dict = {}

    # 方式2
    my_dict2: dict = {
        "name": "zhangSan",
        "age": "23",
    }

    # 方式3
    my_dict3: dict = dict(name="zhangSan", age=23)

    # 方式4
    my_dict4: dict = dict({"name": "zhangSan"})

    # 方式5
    my_dict5: dict = dict([("name", "zhangSan"), ("age", 22)])

    # 方式6
    my_dict6: dict = {}.fromkeys(["name", "address"], None)    # {'name': None, 'address': None}
    
    my_dict7: dict = {}.fromkeys(["name", "address"], ["zhangSan", "xx"])  
    # {'name': ['zhangSan', 'xx'], 'address': ['zhangSan', 'xx']}
    
if __name__ == '__main__':
    test()

type返回对象类型

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

def test() -> None:
    my_dict: dict = {
        "name": "zhangSan",
        "age": "23",
    }

    print(type(my_dict))   # <class 'dict'>
    print(my_dict)  # {'name': 'zhangSan', 'age': '23'}


if __name__ == '__main__':
    test()

查询

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

def test() -> None:
    my_dict: dict = {
        "name": "zhangSan",
        "age": "23",
    }


    # 查询
    my_name: str = my_dict["name"]  # 不存在就报错
    print(my_name)  # zhangSan


    # 查询 get,可设置默认值
    print(type(my_dict.get('name')))  # <class 'str'>
    print(my_dict.get('name'))  # 不存在就返回None
    print(my_dict.get('name123', "my_default"))  # 不存在就返回默认值


    # 获取所有key
    my_dict_keys = my_dict.keys()
    print(type(my_dict_keys))  # <class 'dict_keys'>
    print(my_dict_keys)  # dict_keys(['name', 'age'])


    # 获取所有values
    my_dict_values = my_dict.values()
    print(type(my_dict_values))  # <class 'dict_values'>
    print(my_dict_values)  # dict_values(['zhangSan', '23'])


    # for循环获取 key - value
    for k in my_dict:
        print(type(k), k)  # <class 'str'> name
        print(type(my_dict[k]), my_dict[k])  # <class 'str'> zhangSan


    # for循环获取 key - value
    for k in my_dict.keys():
        print(type(k), k, type(my_dict[k]), my_dict[k])  # <class 'str'> name <class 'str'> zhangSan


    # 列表list的方式返回key-value
    print(my_dict.items())  # dict_items([('name', 'zhangSan'), ('age', '23')])
    print(type(my_dict.items()))  # <class 'dict_items'>
    for item in my_dict.items():
        print(item)  # ('name', 'zhangSan')
        print(type(item))  # <class 'tuple'>
    for k, v in my_dict.items():
        print(type(k), k, type(v), v)  # <class 'str'> name <class 'str'> zhangSan


    # 是否包含 某key
    if "name" in my_dict:
        print(True)
    else:
        print(False)

    
    # 是否包含 某value
    if "zhangSan" in my_dict.values():
        print(True)
    else:
        print(False)

if __name__ == '__main__':
    test()

添加

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

def test() -> None:
    my_dict: dict = {
        "name": "zhangSan",
        "age": "23",
    }

    print(my_dict['name'])  # zhangSan


    # 添加
    my_dict2: dict = {
        "content": "hi"
    }
    my_dict.update(my_dict2)
    print(my_dict)  # {'name': 'zhangSan', 'age': '23', 'content': 'hi'}


    # setdefault
    my_dict.setdefault("sex", "man")
    print(my_dict)  # {'name': 'zhangSan', 'age': '23', 'content': 'hi', 'sex': 'man'}


    # 添加
    my_dict["address"] = "xxxx"
    print(my_dict)  # {'name': 'zhangSan', 'age': '23', 'content': 'hi', 'sex': 'man', 'address': 'xxxx'}

if __name__ == '__main__':
    test()

修改

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

def test() -> None:
    my_dict: dict = {
        "name": "zhangSan",
        "age": "23",
    }

    print(my_dict['name'])  # zhangSan


    # 修改
    my_dict["name"] = "liSi"
    my_name: str = my_dict["name"]
    print(my_name)  # liSi


    # 修改 合并
    my_dict2: dict = {
        "name": "wangWu",
        "content": "hi"
    }
    my_dict.update(my_dict2)
    print(my_dict)  # {'name': 'wangWu', 'age': '23', 'content': 'hi'}

if __name__ == '__main__':
    test()

删除

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

def test() -> None:
    my_dict: dict = {
        "name": "zhangSan",
        "age": "23",
    }

    print(my_dict['name'])  # zhangSan


    # 删除某个key,并返回对应的值
    res = my_dict.pop("age")
    print(type(res), res)  # <class 'str'> 23

    print(my_dict)  # {'name': 'zhangSan'}


    # 删除某个key,如果没有,就返回默认值
    res = my_dict.pop("address", "noKey")
    print(type(res), res)  # <class 'str'> noKey


    # 清空
    my_dict.clear()
    print(my_dict)  # {}

if __name__ == '__main__':
    test()

字典长度

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

def test() -> None:
    my_dict: dict = {
        "name": "zhangSan",
        "age": "23",
    }

    print(len(my_dict))  # 2

if __name__ == '__main__':
    test()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值