美文网首页python
py3笔记4:字典

py3笔记4:字典

作者: _百草_ | 来源:发表于2023-05-14 10:25 被阅读0次

可变容器模型,可存储任意类型对象
格式:{key1:value1,key2:value2}
key:唯一、不可变(字符串、数字、tuple)
:可以重复、类型任意

1、创建字典

# 创建
empty_dict = {} # 空字典
empty_dict2 = dict() # 空字典
print(len(empty_dict))  # 0 # 长度,即字典元素个数,即键对的个数
print(type(empty_dict2))  # <class 'dict'>  # 类型
tiny_dict = {"name":"bai","name":"cao","age":10} # key重复,则仅后一个被记住
print(tiny_dict)  # {'name': 'cao', 'age': 10}
# tiny_dict = {[1,2]:1,{}:2} # key必须不可变,否则报错TypeError: unhashable type: 'list'
# 浅复制:仅复制对象本身,对象内子对象仍是同一存储位置
tiny_dict3 = tiny_dict.copy()
print(id(tiny_dict),id(tiny_dict3))  # 1779435572608 1779440041536
# 创建一个新字典
tiny_dict4 = tiny_dict.fromkeys([1,2,3,4]) # 以序列作为字典的键,以val作为所有键值对的值,默认None
print(tiny_dict4)  # {1: None, 2: None, 3: None, 4: None}
tiny_dict4 = tiny_dict.fromkeys((1,2,3,3),"val") # 序列中重复元素会被踢除;注意key区分大小写
print(tiny_dict4)  # {1: 'val', 2: 'val', 3: 'val'}

2、访问

# 访问
tiny_dict = {"name":"bai","age":7,"Class":[1,2]}
print(tiny_dict["name"])  # 使用dict[key]访问
# print(tiny_dict["grade"]) # 没有则报错KeyError: 'grade'
# 获取指定键
print(tiny_dict.get("name")) # 返回指定键的值,若不在字典中,返回default(默认None)
print(tiny_dict.get("grade", "default"))  # default
# key in dict
print("name"in tiny_dict) # 在返回True,不在返回False  # True
for key in tiny_dict: # for循环访问,依次获取键
    print(key)  # name age Class
# 键值对
print(tiny_dict.items()) # dict_items([('name', 'bai'), ('age', 7), ('Class', [1, 2])])
for k,v in tiny_dict.items(): # 支持for获取
    pass
# 获取键
print(tiny_dict.keys())  # dict_keys(['name', 'age', 'Class'])
for k in tiny_dict.keys(): # 支持for获取
    pass
# 获取值
print(tiny_dict.values()) # dict_values(['bai', 7, [1, 2]])
for v in tiny_dict.values():
    pass

3、修改

# 修改
tiny_dict["age"] = 10  # 已有键,则更新值
tiny_dict["grade"] = 100 # 无键,则新增键值对
print(tiny_dict)  # {'name': 'bai', 'age': 10, 'Class': [1, 2], 'grade': 100}
# 把另一字典的键值对更新到dict里
tiny_dict5 = {"name":5,"no.":5}
tiny_dict.update(tiny_dict5)  # 若键相同,则被覆盖
print(tiny_dict) # {'name': 5, 'age': 10, 'Class': [1, 2], 'grade': 100, 'no.': 5}
# 添加键值对
tiny_dict5.setdefault("name",10)  # 已有的键,则不影响
print(tiny_dict5)  # {'name': 5, 'no.': 5}
tiny_dict5.setdefault("age")  # 不存在的键,则会添加;对应的值是default(默认None)
print(tiny_dict5)  # {'name': 5, 'no.': 5, 'age': None}
print("--------")

4、删除

# 删除
del tiny_dict["Class"]  # 删除键Class
print(tiny_dict)  # {'name': 'bai', 'age': 10, 'grade': 100}
tiny_dict.clear() # 清空字典,即变为空字典
print(tiny_dict)  # {}
del tiny_dict  # 删除字典
# print(tiny_dict)  # NameError: name 'tiny_dict' is not defined
tiny_dict = {'name': 'bai', 'age': 10, 'Class': [1, 2], 'grade': 100}  # 已删除重新创建
# 删除字典key对应的值,并返回被删除的值;若k不存在,则报错
print(tiny_dict.pop("name"))  # bai
print(tiny_dict) # {'age': 10, 'Class': [1, 2], 'grade': 100}
# tiny_dict.pop("1")  # KeyError: '1'
# 返回并删除字典中最后一对键值(tuple)
print(tiny_dict.popitem())  # ('grade', 100)
print(tiny_dict) # {'age': 10, 'Class': [1, 2]}

5、内置函数

# 内置
tiny_str = str(tiny_dict)  # 转为字符串
print(tiny_str,type(tiny_str))  # {'age': 10, 'Class': [1, 2]} <class 'str'>
# 按顺序遍历字典中所有键
print(sorted(tiny_dict5)) # ['age', 'name', 'no.']

6、嵌套

# 嵌套

# 字典列表
dict_list = [{"name":"men","age":11},
             {"name": "bai", "age": 15},
             {"name":"cao","age":20}]
# 列表字典
list_dict ={
    "name":["bai","cao","men"],
    "age":[15, 20,11]
}
# 字典字典
dict_dict ={
    "bai":{"age":15,"Class":"Py"},
    "cao":{"age":20,"Class":"c"},
    "men":{"age":11,"Class":"java"}
}

7、参考

1、Python3 字典
2、Python3 字典
3、Python3基础-字典

相关文章

  • 读书笔记 | Python学习之旅 Day4

    Python学习之旅 读书笔记系列 Day 4 《Python编程从入门到实践》 第6章 字典 知识点 字典:相互...

  • Python --- 字典类型及操作

    笔记主要由来于 慕课网 Python 语言程序设计 1.字典类型定义2.字典类型的用法3.字典类型操作函数和方4...

  • Python学习笔记4—字典

    在Python中,字典是一系列键-值对。每个键都与一个值相关联,可以使用键来访问与之相关联的值。与键相关联的值可以...

  • 【Python基础】10. 字典

    本篇笔记知识点:字典基本概念字典键(key)的特性字典的创建字典的增删改查 字典的基本概念 字典一种key - v...

  • Python学习-字典(dict)

    查看所有Python相关学习笔记 字典(dict) 字典内元素是无序的 新增(创建)字典(key-value) k...

  • Swift3.0 字典的基本操作

    1.自定义字典 2.字典的增-删-改 3.遍历字典 4.合并字典

  • 4 字典

    字典,java中的map,是一种用于保存键值对(key-value pair)的抽象数据结构。字典中,一个键(ke...

  • Python3.5 笔记——第5章 字典

    Python3.5笔记 第五章 字典 什么是字典 字典是Python中唯一内建的映射类型,字典指定值没有特定的顺序...

  • 使用anaconda创建python3.5环境,搭建tensor

    1、创建3.5环境: conda creat -n py3 python=3.5 py3是我这个环境的名字,然后会...

  • 8.字典dict

    目录0.字典介绍1.字典定义和初始化2.字典元素访问3.字典添加和修改4.字典删除5.字典遍历6.字典遍历和移除7...

网友评论

    本文标题:py3笔记4:字典

    本文链接:https://www.haomeiwen.com/subject/lhyusdtx.html