Python基础入门:深入理解字典与集合
本文深入解析Python中的字典(Dictionary)和集合(Set)。通过对比JSON格式,阐明字典作为数据结构的独特性,包括Key的可哈希要求、嵌套支持及布尔值差异。详细演示字典的创建、增删改查及嵌套操作,并介绍集合的去重特性与创建方法,帮助初学者掌握核心数据结构。
Python六大标准类型概览
在Python中,数据被划分为六大标准类型。前四种——数字(Number)、字符串(String)、列表(List)和元组(Tuple)——已在之前的内容中介绍。本文将重点讲解剩余两种重要的数据结构:集合(Set)和字典(Dictionary)。
数字(Number)
字符串(String)
列表(List)
元组(Tumple)
集合(Set)
字典(Dictionary)字典与JSON的本质区别
许多初学者容易将Python字典与JSON格式混淆,但二者在本质、用途和规则上存在显著差异。理解这些区别对于正确使用数据结构至关重要。
1. 格式与本质
- JSON:是一种轻量级的数据交换格式,本质上是字符串。它用于在不同系统或语言间传输数据。
- 字典:是Python内置的数据结构,存储在内存中,类型标识为
dict。
2. Key(键)的限制
- JSON:Key必须是字符串类型。
- 字典:Key可以是任何可哈希(hashable)的对象,包括字符串、数字和元组。这意味着字典的Key更加灵活。
3. Value(值)的范围
- JSON:Value仅限于字符串、浮点数、布尔值、null、数组或对象。不支持Python特有的类型。
- 字典:Value可以是任意类型的对象,包括列表、其他字典等复杂结构。
4. 访问与默认值
- JSON:访问方式多样(如
[]或.),且任意Key不存在时默认返回undefined。 - 字典:仅支持下标访问(
[])。若Key不存在,直接抛出KeyError异常,没有默认值。
5. 布尔值与特殊值
- JSON:使用小写的
true、false和null。 - 字典:使用Python特有的大写布尔值
True、False以及空值None。
6. 编码与重复性
- JSON:中文必须使用Unicode编码,且Key在JSON字符串中可以是有序且允许重复的(尽管标准JSON通常不推荐重复Key)。
- 字典:Key在字典中不可重复。若Key重复,后赋的值会覆盖先前的值。
字典的创建与操作
字典使用大括号 {} 创建。在Python 2.x或早期版本中,若字典中包含中文字符,必须在文件头部添加 # coding: utf-8 声明,否则解释器无法正确解析中文,导致抛出异常。Python 3.x默认支持UTF-8,但保留该声明仍是良好的编码习惯。
1. 基础创建
最简单的字典由键值对组成:
# coding: utf-8
test1={'name':"zhang san",
'age':18
}
print(test1);2. 动态添加与修改
字典是可变的。可以通过下标直接添加新的键值对,或修改已存在的Key对应的Value:
# coding: utf-8
test1={'name':"zhang san",
'age':18
}
test1["school"]="primary";
print(test1);3. 嵌套结构
字典的Value可以是列表,列表的元素也可以是字典,形成复杂的嵌套结构:
# coding: utf-8
test1={'name':"zhang san",
'age':18
}
test1["school"]="primary";
test1["friend"]=["tony","tom","lily"];
print(test1);进一步,可以将字典放入列表中:
# coding: utf-8
test1={'name':"zhang san",
'age':18
}
test1["school"]="primary";
test1["friend"]=["tony","tom","lily"];
student=[test1];
print(student);集合(Set)的创建与特性
集合使用大括号 {} 创建,内部包含多个对象。集合的核心特性是无序和元素唯一(自动去重)。
1. 创建与去重
当创建集合时,如果传入包含重复元素的序列,集合会自动去除重复项。例如,数字 1 和字符串 '1' 是不同的对象,会同时保留;但两个相同的数字只会保留一个。
# coding: utf-8
test1={"1",1}
print(test1);输出结果通常类似 set(['1', 1])(Python 2)或 {'1', 1}(Python 3),具体格式取决于Python版本,但核心是展示了去重机制。
2. 集合的功能
Python的 set 类型提供了丰富的函数功能,包括并集、交集、差集等集合运算,适用于数据去重和关系运算场景。

以上就是Python基础入门之字典和集合的详细内容,更多关于Python数据结构、JSON处理及集合运算的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













