Python篇:数据类型–字典
Python篇:数据类型–字典字典的优点定义特性创建增删改查循环 字典的优点 定义 {key1:value1,key2:value2} (1)键与值用冒号“:”隔开 (2)项与项用逗号“,”隔开 特性 1、key-value结构,无索引 2、key必须为不可变数据类型,必须唯一(字符串、数字、元组不可变,列表可变) 3、可存放任意多个value、可修改、可以不唯一 4、无序(列表有下标,列表有序) 5、查询速度快,且不受dirt的大小影响(Hash) 创建 1、直接赋值 info={"name":"dading", "old":"18"}` 2、 dict dict(name= 在Python编程语言中,字典是一种非常重要的数据类型,它以键值对的形式存储数据,提供了灵活且高效的访问和操作方式。本篇文章将深入探讨字典的定义、特性、创建、增删改查以及循环遍历等核心概念。 **字典的定义与特性** 字典在Python中使用花括号`{}`来表示,每个键值对由键(key)和值(value)组成,键和值之间用冒号`:`分隔,而各个键值对之间用逗号`,`分隔。例如: ```python info = {"name": "dading", "old": "18"} ``` 字典的特性如下: 1. **键值对结构**:字典是无序的键值对集合,没有传统的索引。 2. **键的唯一性**:每个键在字典中必须唯一,且键必须是不可变类型,如字符串、数字或元组。列表由于可变,不能作为键。 3. **存储任意值**:字典可以存储任意数量的值,每个值可以是任何数据类型,也可以重复。 4. **无序性**:与列表不同,字典是无序的,无法通过下标索引来访问元素。 5. **查询速度**:字典的查询速度非常快,得益于哈希表(Hash)的实现,查找效率几乎与字典大小无关。 **字典的创建** 创建字典有多种方式: 1. 直接赋值,如上例所示。 2. 使用内置函数`dict()`,如`dict(name="dading", old="18")`。 3. 通过列表批量生成,例如`keys = [1, 2, 3, 4, 5]; {}.fromkeys(keys, 100)`。 **字典的操作** - **增加**: - 直接赋值,如`d["job"] = "Teacher"`。 - 使用`setdefault()`方法,如果键不存在,则添加键值对并返回值,如果存在则返回已存在的值,例如`d.setdefault("job", "Teacher")`。 - **删除**: - `pop()`方法删除指定键的键值对,如`d.pop("name")`。 - `popitem()`随机删除一个键值对。 - `del`关键字删除指定键,如`del d["name"]`。 - `clear()`方法清空整个字典。 - **修改**: - 直接修改键对应的值,如`d["name"] = "xiaofang"`。 - 使用`update()`方法合并字典,若键相同,用新字典的值替换,如`d1.update(d2)`。 - **查找**: - 判断键是否存在,如`"name" in d`。 - 获取键对应的值,如`d["old"]`,不存在会抛出异常。 - 使用`get()`方法安全获取值,可提供默认值,如`d.get("name", default=None)`。 - 获取所有键、值或键值对,如`d.keys()`、`d.values()`和`d.items()`。 **循环遍历** 在循环中,可以通过`keys()`、`values()`和`items()`方法分别遍历字典的键、值和键值对: ```python for key in d.keys(): print(key) for value in d.values(): print(value) for key, value in d.items(): print(key, value) ``` 总结来说,字典在Python中扮演着至关重要的角色,特别是在处理关联数据或需要高效查找的场景中。了解并熟练掌握字典的使用,能够极大地提高编程效率和代码质量。