Python基础教程--04第四章字典和集合
- 格式:pptx
- 大小:104.91 KB
- 文档页数:27
python基础⼊门之字典和集合⽬录正⽂字典集合python 中有6⼤标准类型:数字(Number)字符串(String)列表(List)元组(Tumple)集合(Set)字典(Dictionary)前⾯已经介绍了上⾯4种,还有下⾯两种来介绍⼀下。
正⽂字典字典看起来⾮常像json,是的⾮常⾮常像,但是我们起码需要明⽩的是json是⼀个字符格式,⽽字典是⼀种数据结构。
区别:1)json的key只能是字符串,dict的key可以是任何可hash的对象,例如:字符串、数字、元组等。
2)json的key可以是有序、重复的;dict的key不可重复;3)json的value只能是字符串、浮点数、布尔值或者null,或者它们构成的数组或者对象;4)json任意key存在默认值undefined,dict默认没有默认值;5)json访问⽅式可以是[],也可以是.,遍历⽅式分in,of; dict的value仅仅可以下标访问;6)dict可以嵌套tuple,json⾥只有数组7)json:true、false、null8)dict:True、False、None9)json中⽂必须是unicode编码,如“\u6211”10)json的类型时字符串,字典的类型是dict总之,他们只是看起来像⽽已,但是并没有什么⾎缘关系,可以看做异⽗异母的亲兄弟吧。
创建⼀个字典:# coding: utf-8test1={'name':"zhang san",'age':18}print(test1);这样就ok了,是的没有错,这样就建⽴了⼀个字典。
值得注意的是,我在上⾯注释了⼀⾏:coding: utf-8,如果没有这个python ⽆法解析中⽂,并给你抛出⼀个异常。
如果你新增⼀个值,那么:# coding: utf-8test1={'name':"zhang san",'age':18}test1["school"]="primary";print(test1);这样就可以了,你的key和value 可以是任意类型的值,这和静态语⾔不⼀样。
Python 中的列表(list)、元组(tuple)、字典(dict)和集合(set)是四种基本的数据结构,它们各有特点和用途。
下面我将分别对它们进行详细解释,并给出例子说明。
1. 列表(List)列表是一个有序的集合,可以包含任意类型的对象,包括数字、字符串、甚至其他列表。
列表是可变的,意味着你可以修改列表的内容。
特点:●有顺序●可变●可以包含重复元素例子:python创建列表my_list = [1, 2, 3, 'a', 'b', 'c']访问元素print(my_list[0]) 输出1修改元素my_list[1] = 200print(my_list) 输出[1, 200, 3, 'a', 'b', 'c']添加元素my_list.append('d')print(my_list) 输出[1, 200, 3, 'a', 'b', 'c', 'd']列表切片print(my_list[1:4]) 输出[200, 3, 'a']2. 元组(Tuple)元组与列表类似,也是一个有序的集合,可以包含任意类型的对象。
不同之处在于元组是不可变的,一旦创建就不能修改。
特点:●有顺序●不可变●可以包含重复元素例子:python创建元组my_tuple = (1, 2, 3, 'a', 'b', 'c')访问元素print(my_tuple[0]) 输出1元组是不可变的,所以不能修改元素my_tuple[1] = 200 这会抛出TypeError元组可以被解包a, b, c = my_tupleprint(a, b, c) 输出1 2 33. 字典(Dict)字典是一个无序的键值对集合,键必须是不可变类型,如字符串或元组,而值可以是任何类型。
学习Python的字典和集合Python是一门强大且广泛应用的编程语言,在实际的编程过程中,字典和集合是常见且重要的数据结构。
本文将介绍学习Python字典和集合的基本概念、用法和示例,并探讨如何利用它们解决实际问题。
一、字典(Dictionary)字典是Python中一种可变且无序的数据类型,它由键(key)和值(value)组成。
字典的键必须是唯一的,而值可以是任意类型的数据。
字典可以通过键来快速查找对应的值,这使得字典在处理大量数据时非常高效。
创建字典的最简单方式是使用大括号 {},通过键值对的形式添加元素。
例如:```student = {'name': 'John', 'age': 18, 'gender': 'male'}```通过键来访问字典中的值非常方便,只需使用方括号 [] 操作符,指定相应的键即可。
例如:```print(student['name']) # 输出:John```字典提供了一系列的方法来操作和管理元素,例如添加元素、删除元素、修改元素等。
此外,还可以使用循环来遍历字典中的所有键值对,或者通过内置函数获取字典中的键或值。
二、集合(Set)集合是Python中一种无序且元素唯一的数据结构,它使用大括号{} 或 set() 函数来创建。
集合的主要应用场景是去重和判断两个数据集之间的关系。
创建集合的方式有多种,例如直接使用大括号 {},或者使用 set()函数加上可迭代对象。
例如:```fruits = {'apple', 'banana', 'orange'}```集合可以进行一系列的操作,如添加元素、删除元素、判断元素是否存在等。
可以使用 add() 方法向集合中添加元素,使用 remove() 方法删除集合中的指定元素。
Python字典和集合字典和集合基础字典是⼀系列由键(key)和值(value)配对组成的元素的集合,在 Python3.7+,字典被确定为有序,⽽ 3.6 之前是⽆序的,其长度⼤⼩可变,元素可以任意地删减和改变。
相⽐列表和元组,字典的性能更优,特别是对于查找、添加和删除操作。
集合和字典基本相同,唯⼀的区别是集合没有键和值的配对,是⼀系列⽆序的、唯⼀的元素组合。
字典和集合的创建,通常有以下⼏种⽅式:# 创建字典d1 = {'name': 'jason', 'age': 20, 'gender': 'male'}d2 = dict({'name': 'jason', 'age': 20, 'gender': 'male'})d3 = dict([('name', 'jason'), ('age', 20), ('gender', 'male')])d4 = dict(name='jason', age=20, gender='male')# 创建集合s1 = {1, 2, 3}s2 = set([1, 2, 3])Python 中字典和集合,⽆论是键还是值,都可以是混合类型。
字典访问可以直接索引键,如果键不存在,则抛异常:d1 = {'name': 'jason', 'age': 20, 'gender': 'male'}print(d1['name'])# 输出jasonprint(d1['test'])# 输出Traceback (most recent call last):File "test.py", line 11, in <module>KeyError: 'test'也可以使⽤ get(key, default) 函数来进⾏索引。
Python基础学习四列表、元组、字典、集合列表list,⽤中括号“[ ]”表⽰1.任意对象的有序集合列表是⼀组任意类型的值,按照⼀定顺序组合⽽成的2.通过偏移读取组成列表的值叫做元素(Elements)。
每⼀个元素被标识⼀个索引,第⼀个索引是0,序列的功能都能实现3.可变长度,异构以及任意嵌套列表中的元素可以是任意类型,甚⾄是列表类型,也就是说列表可以嵌套4.可变的序列⽀持索引、切⽚、合并、删除等等操作,它们都是在原处进⾏修改列表5.对象引⽤数组列表可以当成普通的数组,每当⽤到引⽤时,Python总是会将这个引⽤指向⼀个对象,所以程序只需处理对象的操作。
当把⼀个对象赋给⼀个数据结构元素或变量名时,Python总是会存储对象的引⽤,⽽不是对象的⼀个拷贝L.append(var) # 追加元素,加在最后L.insert(index,var) # 在index的位置追加元素,位置就是索引L.pop(var) # 从list中删除最后⼀个元素,并返回该元素L.remove(var) # 删除第⼀次出现的该元素L.count(var) # 该元素在列表中出现的个数L.index(var) # 该元素的位置(索引号),⽆则抛异常L.extend(list) # 追加list,即合并list到L上,两个列表合并L.sort() # 排序L.reverse() # 原地翻转列表,从前到后变成从后向前l = [1,2,3,4,['hello','johnny'],'/z_johnny'] # 创建listl[1:5:2] # list的切⽚,切⼀部分,范围为索引[1,5),即1、2、3、4不包括5,隔2取1个值 l[1:5:2] == [2, 4]l[1] # list的索引,左1索引为0,右1索引为-1,l[1] == 2l[4][1] # 列表⽀持嵌套,l[4][1] == 'johnny'元祖tuple,⽤⼩括号“( )”表⽰1.任意对象的有序集合与列表相同2.通过偏移存取与列表相同3.属于不可变序列类型类似于字符串,但元组是不可变的,不⽀持在列表中任何原处修改操作,不⽀持任何⽅法调⽤4.固定长度、异构、任意嵌套固定长度即元组不可变,在不被拷贝的情况下长度固定,其他同列表5.对象引⽤的数组与列表相似,元祖是对象引⽤的数组和list相⽐1.⽐列表操作速度快2.对数据“写保护“3.可⽤于字符串格式化中4.可作为字典的keyt.count(var) # 该元素在元组中出现的个数t.index(var) # 该元素的位置(索引号),⽆则抛异常t = (1,2,3,4,['hello','johnny'],'/z_johnny') # 创建tupletu = (5,) # 只含有⼀个元素的元祖,必须加逗号“,”t[1:5:2] # tuple的切⽚,切⼀部分,范围为索引[1,5),即1、2、3、4不包括5,隔2取1个值 t[1:5:2]== (2, 4)t[1] # tuple的索引,左1索引为0,右1索引为-1,t[1] == 2t[4][1] # 同列表⼀样⽀持嵌套,t[4][1] == 'johnny'字典dict,⽤⼤括号“{key,value}”表⽰1.通过键⽽不是偏移量来读取字典就是⼀个关联数组,是⼀个通过关键字索引的对象的集合,使⽤键-值(key-value)进⾏存储,查找速度快2.任意对象的⽆序集合字典中的项没有特定顺序,以“键”为象征3.可变长、异构、任意嵌套同列表,嵌套可以包含列表和其他的字典等4.属于可变映射类型因为是⽆序,故不能进⾏序列操作,但可以在远处修改,通过键映射到值。
字典与集合的常用操作字典和集合是Python中常用的数据结构,它们提供了便捷的方法来存储和操作数据。
在本文中,我们将介绍字典和集合的常用操作,包括创建、访问、添加、删除和修改等。
一、创建字典和集合创建字典和集合非常简单,只需使用花括号{}即可。
例如,我们可以创建一个字典来存储学生的信息:students = {'Tom': 18, 'Jerry': 20, 'Alice': 19}我们也可以创建一个集合来存储一组数据:fruits = {'apple', 'banana', 'orange'}二、访问字典和集合中的元素字典和集合中的元素是通过键来访问的。
例如,我们可以通过键来获取学生的年龄:age = students['Tom']print(age) # 输出18我们也可以通过遍历来访问集合中的元素:for fruit in fruits:print(fruit)三、添加和删除字典和集合中的元素添加元素可以通过赋值的方式来实现。
例如,我们可以向字典中添加一个新的学生信息:students['Bob'] = 21我们也可以向集合中添加一个新的水果:fruits.add('pear')删除字典和集合中的元素可以使用del关键字。
例如,我们可以删除字典中的一个学生信息:del students['Tom']我们也可以使用remove方法来删除集合中的一个元素:fruits.remove('banana')四、修改字典和集合中的元素修改字典中的元素非常简单,只需重新赋值即可。
例如,我们可以修改字典中某个学生的年龄:students['Jerry'] = 21集合中的元素是不可修改的,如果需要修改集合中的元素,需要先删除原来的元素,然后再添加新的元素。
Python中的字典和集合使用指南在Python编程语言中,字典和集合是两个常用的数据结构,它们在处理和存储数据时非常实用。
本文将为大家介绍Python中字典和集合的基本用法和常见操作,以便提升大家在编程中的效率和灵活性。
一、字典的使用指南字典是一种键值对(key-value)的数据结构,它可以存储和访问具有唯一键的数据。
在Python中,字典的定义以及基本操作如下所示:1. 定义字典:可以通过大括号或者dict()函数来定义一个字典。
```python# 通过大括号定义字典my_dict = {"name": "Tom", "age": 20}# 通过dict()函数定义字典my_dict = dict(name="Tom", age=20)```2. 访问字典中的值:可以通过键来访问字典中对应的值。
```python# 访问name键对应的值name = my_dict["name"]print(name) # 输出:Tom3. 修改字典中的值:可以通过键来修改字典中对应的值。
```python# 修改name键对应的值my_dict["name"] = "Jerry"print(my_dict) # 输出:{"name": "Jerry", "age": 20}```4. 遍历字典:可以使用`for`循环遍历字典中的所有键值对。
```python# 遍历字典中的键值对for key, value in my_dict.items():print(key, value)```5. 添加键值对:可以使用新的键值对来往字典中添加元素。
```python# 添加键值对my_dict["gender"] = "male"print(my_dict) # 输出:{"name": "Jerry", "age": 20, "gender": "male"}6. 删除键值对:可以使用`del`语句来删除字典中的键值对。