第4章 Python-字典与集合
- 格式:pptx
- 大小:516.74 KB
- 文档页数:45
python--序列,字符串,列表,元组,字典,集合内存分析⼀,什么是序列、 序列是⼀种数据存储⽅式,⽤来存储⼀系列的数据,在内存(堆内存)中,序列是⼀块⽤来存放多个值的连续的内存空间,其存储的值为所指向对象的地址。
⽐如说a = [ 10 , 20 , 30 , 40 ]在内存中实际是按照以下⽅式存储的。
下图中序列存储的是整数对象的地址,⽽不是整数对象的值。
python中常⽤的序列结构有:字符串,列表,元组,字典,集合列表:⼀,什么是列表? 是⼀种⽤来存储任意数⽬,任意类型的数据集合。
⼆,列表的底层原理是什么? 参照上图三,列表的三种创建⽅式 1.基本语法 [ ] 创建a = [ 1, 2 , "abc" ]a = [ ] 2,list()创建:使⽤list()可以将任何可迭代对象转化为列表a = list( )a = list(range(10))注意:range的语法格式: range([start],end,[step]) start:可选,表⽰起始数字,默认是0 end:必选,表⽰结尾数字 step:可选,表⽰步长,默认是1,可正可负 python3中range()返回的是⼀个range对象,⽽不是列表,我们需要通过list()⽅法将其转换为列表对象 3.推导式⽣成列表a = [ x*2 for x in range( 5 ) if x%3==0 ]第⼀步:range(5)为,[ 0,1,2,3,4 ]第⼆步:每个x分别乘2。
[ 0,2,4,6,8 ]第三步:判断是否为3的倍数。
[ 6 ]四,对列表的操作(添加元素,删除元素,访问元素,切⽚,排序)添加元素(5种)当列表增加和删除元素时,列表会⾃动进⾏内存管理,⼤⼤减少程序员的负担。
但这个特点涉及列表元素的⼤量移动,效率较低。
(当在中间插⼊或删除元素时,实质上是对数组的拷贝,故⽽效率较低)除⾮必要,我们⼀般只在列表的尾部添加元素或者删除元素,这会⼤⼤提⾼列表的操作效率。
Python字典和集合一、字典字典是一种可变容器模型,可存储任意类型对象。
和之前我们讲过的列表及元组都不相同,字典中存储的是一组数据,这组数据包含了两个部分键和值。
例如每个同学都有学号和姓名,其中学号是唯一的,姓名是可能相同的,字典就是这样的格式,可以把学号理解为键,姓名理解为值。
另外Python默认的字典是无序的,不像元组和集合,通过index索引可以获取值,由于没有顺序,所以字典不存在索引。
字典的键是唯一的,不能出现多次,多次出现时取最后一个值。
下面我们创建字典并进行一些基本操作。
1.字典的形式及创建整个字典包括在花括号{} 中,可以看出字典每个元素包含2个部分,它们分别是“键”和“值”,键和值之间用:隔开,两个元素之间用,隔开。
2.字典元素的访问由于字典不存在顺序所以也没有索引,但是我们可以通过访问其键获取它对应的值,相当于我们要去一个班级找学生,只要报出学号就可以找到该学生了。
3.添加、修改、删除元素字典是可以变化的,我们对其进行增加、删除和修改操作。
增加元素就是直接通过键值对其进行添加;删除元素还是通过del语句进行,删除的是一对元素,包括键和值。
修改元素就是直接覆盖了现有元素,它的形式和添加元素的格式类似。
以上只是字典的最基础操作,字典可以存储各种混合数据类型,其中键需要取不可变的数据类型,但是值可以取任意类型的对象。
二、集合在学习数学的时候我们应该学过集合这个概念,在Python中同样存在一种名叫集合的数据类型,集合(set)是一个无序的不重复元素序列。
集合的表达式和字典有点相似都是包括在花括号{} 中。
集合中所保存的元素是没有顺序的,且可以保存多种数据类型,集合中的元素都存在唯一性,不能重复出现。
1.创建集合创建集合的时候有2种方式,一种是直接使用集合的特征符号“{}”来创建,一种是使用set()函数强制类型转换來创建。
集合是由“{}”括起来的结构,每个元素之间用“,”隔开,集合和字典都是用大括号括起来,但是集合之间不使用冒号,只能使用逗号。
Python中的列表、元组、字典和集合教案一、教学目标1.理解Python中列表、元组、字典和集合的基本概念。
2.掌握列表、元组、字典和集合的创建、访问和修改方法。
3.了解列表、元组、字典和集合的常用操作和内置函数。
4.能够根据实际需求选择合适的数据结构解决问题。
二、教学内容1.列表(List)●概念:列表是Python中的一种可变序列类型,可以包含不同类型的元素。
●创建:使用方括号[]或list()函数创建列表。
●访问:通过索引访问列表元素,支持切片操作。
●修改:使用赋值语句修改列表元素,使用append()、insert()、remove()等方法添加、插入或删除元素。
●常用操作:len()、max()、min()、sort()等。
2.元组(Tuple)●概念:元组是Python中的一种不可变序列类型,与列表类似,但元素不能修改。
●创建:使用圆括号()或tuple()函数创建元组。
●访问:通过索引访问元组元素,支持切片操作。
●注意:由于元组不可变,因此没有提供修改元素的方法。
●常用操作:与列表类似,但不包括修改元素的方法。
3.字典(Dictionary)●概念:字典是Python中的一种可变映射类型,用于存储键值对。
●创建:使用花括号{}或dict()函数创建字典。
●访问:通过键访问对应的值,使用get()方法获取指定键的值(可选默认值)。
●修改:使用赋值语句修改键值对,使用del语句删除键值对。
●常用操作:keys()、values()、items()等。
4.集合(Set)●概念:集合是Python中的一种可变无序且不重复的元素集。
●创建:使用花括号{}(不包含键值对)或set()函数创建集合。
●访问:由于集合无序,因此不支持索引访问。
可以判断元素是否存在于集合中。
●修改:使用add()方法添加元素,使用remove()方法删除元素。
还可以使用集合运算符进行并集、交集、差集等操作。
●常用操作:len()、union()、intersection()、difference()等。
字典与集合是Python中常用的两种容器类型,它们在用途和特性上有一些区别。
本文将从定义、特点、操作方法和应用场景等方面对字典与集合进行比较。
首先,字典是一种以键值对(key-value)形式存储数据的容器,其中的键必须唯一且不可变,而值可以是任意的对象。
可以将字典看作是一个无序的集合,其中每个元素都是键值对。
集合则是一个无序的、用于存储不重复元素的容器。
可以将集合看作是只有键没有值的字典。
其次,字典与集合在定义方面也有所区别。
字典使用大括号 {} 表示,每个键值对用冒号 : 分割,不同的键值对用逗号 , 分隔。
例如:{'name': 'Tom','age': 20}。
而集合使用大括号 {} 或 set() 表示,其中的元素没有键值对的形式,只是一个个独立的值。
例如:{'apple', 'banana', 'orange'}。
字典与集合的特点也不相同。
字典主要特点有:1.键值对的存储方式,键的唯一性保证了快速查找和修改数据的能力。
2.可以根据键访问值,提高了数据的检索效率。
3.可以包含不同类型的值。
而集合主要特点有:1.元素的唯一性,保证了每个值只会出现一次。
2.支持集合间的交集、并集、差集等操作。
3.可以快速判断一个元素是否在集合中。
在操作方法上,字典和集合也存在一些区别。
对于字典,可以通过键来访问对应的值,也可以通过键来修改对应的值。
另外,可以使用keys()方法获取所有的键,使用values()方法获取所有的值,使用items()方法获取所有的键值对。
对于集合,可以使用add()方法添加元素,使用remove()方法删除元素,使用union()方法求并集,使用intersection()方法求交集,使用difference()方法求差集等。
最后,字典和集合在应用场景上也有一些差异。
字典常用于存储需要通过键来检索的数据,比如存储学生的学号和姓名、存储城市的天气信息等。
python知识点整理一、基础语法。
1. 变量与数据类型。
- 在Python中,变量不需要声明类型。
例如:`x = 5`,这里`x`是一个整数类型的变量。
- 常见的数据类型有整数(`int`),如`10`;浮点数(`float`),如`3.14`;字符串(`str`),用单引号或双引号括起来,如`'hello'`或 `"world"`;布尔类型(`bool`),只有`True`和`False`两个值。
2. 运算符。
- 算术运算符:`+`(加)、`-`(减)、`*`(乘)、`/`(除)、`//`(整除)、`%`(取余)、``(幂运算)。
例如:`5//2`结果为`2`,`5%2`结果为`1`。
- 比较运算符:`>`(大于)、`<`(小于)、`==`(等于)、`!=`(不等于)、`>=`(大于等于)、`<=`(小于等于)。
比较运算的结果是布尔值。
- 逻辑运算符:`and`(与)、`or`(或)、`not`(非)。
例如:`True and False`结果为`False`。
3. 控制结构。
- 条件语句(if - elif - else)- 基本语法:if condition1:statement1.elif condition2:statement2.else:statement3.- 例如:x = 10.if x > 5:print('x is greater than 5')elif x == 5:print('x is equal to 5')else:print('x is less than 5')- 循环语句(for和while)- for循环:用于遍历序列(如列表、元组、字符串等)。
- 语法:`for variable in sequence: statements`。
- 例如:fruits = ['apple', 'banana', 'cherry']for fruit in fruits:print(fruit)- while循环:在条件为真时重复执行一段代码。
Python列表、元组、字典、集合、字符串的异同总结1.数据类型列表、元组、字典、集合、字符串均属于python3的标准数据类型。
字符串和元组属于不可变数据,即创建后不可修改。
列表、字典、集合属于可变数据,即创建后可以修改元素。
2.创建有元素的对象3.创建没有元素的对象列表使⽤eval()或list()或中括号[]进⾏创建,元素之间使⽤逗号分隔。
若不添加任何元素,则创建空列表。
# 使⽤[]创建list_ = [1, 2, 3, 4, 5]print(type(list_)) # <class 'list'># 使⽤eval()创建,eval()⽅法⽤来执⾏⼀个字符串表达式,并返回表达式的值list_ = eval("[1,2,3,4,5]")print(type(list_)) # <class 'list'># 使⽤list()创建,list()⽅法⽤于将元组转换为列表list_ = list((1, 2, 3, 4, 5))print(type(list_)) # <class 'list'>元组使⽤eval()或tuple()或⼩括号()进⾏创建,元素之间使⽤逗号分隔。
若不添加任何元素,则创建空元组。
如果元组只有⼀个元素,则必须在这个元素后⾯加上逗号。
# 使⽤()创建tuple_ = (1, 2, 3, 4, 5)print(type(tuple_)) # <class 'tuple'># 使⽤eval()创建tuple_ = eval("(1,2,3,4,5)")print(type(tuple_)) # <class 'tuple'># 使⽤tuple()创建,tuple()函数⽤于将列表转换为元组tuple_ = tuple([1, 2, 3, 4, 5])print(type(tuple_)) # <class 'tuple'>字典使⽤eval()或dict()函数或者⼤括号{}创建,元素之间⽤逗号分隔。
《Python程序设计》习题与参考答案第1章基础知识1、1 简单说明如何选择正确的Python版本。
答:在选择Python的时候,一定要先考虑清楚自己学习Python的目的就是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高支持哪个版本的Python,就是Python 2、x还就是Python 3、x,最高支持到Python 2、7、6还就是Python 2、7、9。
这些问题都确定以后,再做出自己的选择,这样才能事半功倍,而不至于把大量时间浪费在Python的反复安装与卸载上。
同时还应该注意,当更新的Python版本推出之后,不要急于更新,而就是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。
尽管如此,Python 3毕竟就是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅就是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择Python 3、x系列的最高版本(目前就是Python 3、4、3)。
1、2 为什么说Python采用的就是基于值的内存管理模式?答:Python采用的就是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。
>>> x = 3>>> id(x)>>> y = 3>>> id(y)>>> y = 5>>> id(y)>>> id(x)1、3 在Python中导入模块中的对象有哪几种方式?答:常用的有三种方式,分别为import 模块名[as 别名]●from 模块名import 对象名[ as 别名]●from math import *1、4 使用pip命令安装numpy、scipy模块。
答:在命令提示符环境下执行下面的命令:pip install numpypip install scipy1、5 编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。