版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python编程基础项目五列表、元组、字典和集合5.1列表目录5.1.1定义和特点5.1.2列表操作5.1.3列表推导式Python编程基础5.1.1定义和特点Python编程基础列表的定义在Python中,列表(list)是一种非常灵活和常用的数据结构。它可以存储多个数据项,并允许我们对这些数据进行动态的添加、删除和修改操作。列表的强大之处在于它的可变性和多样性,使其成为处理有序数据的理想选择。Python编程基础列表的定义列表是由一组按照一定顺序排列的元素组成的数据结构,使用方括号[]表示。每个元素之间用逗号,分隔,元素的类型可以相同,也可以不同。列表在Python中属于一种有序且可变的集合。例如:创建一个空列表my_list=[]
创建包含多个元素的列表fruits=["apple","banana","cherry"]
列表可以包含不同类型的数据mixed_list=[1,"hello",3.14,True]Python编程基础列表的特点(1)有序性列表中的元素是有序排列的,每个元素在列表中的位置由索引确定。索引从0开始,可以通过索引访问特定位置的元素。例如:numbers=[10,20,30,40]print(numbers[0])输出结果:10Python编程基础列表的特点(2)可变性列表支持动态操作,可以在原地添加、删除或修改元素。例如:fruits=["apple","banana","cherry"]fruits[1]="blueberry"print(fruits)输出结果:['apple','blueberry','cherry']Python编程基础列表的特点(3)支持重复元素列表中的元素可以重复出现。例如:duplicates=[1,1,2,3,3,3]print(duplicates)输出结果:[1,1,2,3,3,3]Python编程基础列表的特点(4)多样性列表可以同时存储不同类型的数据,如整数、字符串、浮点数、布尔值等。例如:mixed_list=[42,"hello",3.14,False]print(mixed_list)输出结果:[42,'hello',3.14,False]Python编程基础列表的特点(5)动态性列表的长度不固定,可以根据需要动态地增加或减少元素。例如:animals=["cat","dog"]animals.append("rabbit")print(animals)输出结果:['cat','dog','rabbit']Python编程基础列表的特点(6)内置丰富的方法列表提供了许多内置方法,如append()、remove()、sort()等,方便操作和管理数据。例如:fruits=["apple","banana"]fruits.append("cherry")print(fruits)输出结果:['apple','banana','cherry']Python编程基础5.1.2列表操作Python编程基础列表操作列表的灵活性体现在它的多种操作方式上,包括访问、修改、添加、删除元素等。通过这些操作,列表可以动态地适应不同的数据管理需求。列表的操作主要包括访问元素、修改元素、添加元素、删除元素、列表排序和反转和遍历列表等。Python编程基础访问元素通过索引访问元素列表中的元素可以通过索引访问,索引从0开始(正索引从左到右计数,起始值为0,即第一个元素索引为0),负索引用于从末尾反向访问(负索引从右到左计数,起始值为-1,即最后一个元素的索引为-1,倒数第二个元素的索引为-2,以此类推)。例如:fruits=["apple","banana","cherry"]print(fruits[0])#输出:appleprint(fruits[-1])#输出:cherryPython编程基础访问元素通过切片访问多个元素切片是一种用于获取序列中部分元素的操作方式,通过指定起始索引、结束索引和步长,生成一个新序列。语法如下:list_name[start:end:step]start:切片的起始索引(包含该索引的元素)。end:切片的结束索引(不包含该索引的元素)。step:切片的步长,表示选取元素的间隔。默认为1。例如:numbers=[0,1,2,3,4,5,6]print(numbers[1:4])#输出:[1,2,3]Python编程基础修改元素(1)修改单个元素
直接通过索引赋值修改指定位置的元素。
例如:colors=["red","blue","green"]colors[1]="yellow"print(colors)#输出:['red','yellow','green']Python编程基础修改元素(2)修改多个元素(通过切片)
使用切片操作可以一次性替换多个元素。
例如:numbers=[1,2,3,4,5]numbers[1:4]=[8,9,10]print(numbers)#输出:[1,8,9,10,5]Python编程基础添加元素(1)append()方法
在列表末尾添加一个元素。
例如:fruits=["apple","banana"]fruits.append("cherry")print(fruits)#输出:['apple','banana','cherry']Python编程基础添加元素(2)extend()方法
在列表末尾一次性添加多个元素。
例如:numbers=[1,2,3]numbers.extend([4,5,6])print(numbers)#输出:[1,2,3,4,5,6]Python编程基础添加元素(3)insert()方法
在指定索引处插入一个元素,其后的元素依次后移。
例如:colors=["red","green"]colors.insert(1,"blue")print(colors)#输出:['red','blue','green']Python编程基础删除元素(1)remove()方法删除列表中第一个匹配的元素。例如:fruits=["apple","banana","cherry","banana"]fruits.remove("banana")print(fruits)#输出:['apple','cherry','banana']Python编程基础删除元素(2)pop()方法删除列表中第一个匹配的元素。例如:numbers=[10,20,30,40]last_item=numbers.pop()print(numbers)#输出:[10,20,30]print(last_item)#输出:40Python编程基础删除元素(3)使用del关键字删除指定索引处的元素或整个列表。例如:numbers=[1,2,3,4]delnumbers[2]print(numbers)#输出:[1,2,4]Python编程基础删除元素(4)clear()方法清空列表中的所有元素。例如:my_list=[1,2,3]my_list.clear()print(my_list)#输出:[]Python编程基础列表排序和反转(1)sort()方法对列表中的元素进行排序。例如:numbers=[4,1,3,2]numbers.sort()print(numbers)#输出:[1,2,3,4]Python编程基础列表排序和反转(2)sorted()方法返回排序后的新列表,不改变原列表。例如:numbers=[4,1,3,2]new_list=sorted(numbers)print(new_list)#输出:[1,2,3,4]print(numbers)#输出:[4,1,3,2]Python编程基础列表排序和反转(3)reverse()方法原地反转列表中的元素。例如:letters=["a","b","c"]letters.reverse()print(letters)#输出:['c','b','a']Python编程基础遍历列表遍历列表是Python中常见的一种操作,它允许我们依次访问列表中的每个元素。遍历可以通过多种方式实现,每种方式都有其适用场景和特点。(1)使用for循环遍历列表。例如:numbers=[1,2,3,4,5]fornumberinnumbers:print(number)Python编程基础遍历列表(2)使用enumerate()同时获取索引和元素。例如:numbers=[1,2,3,4,5]forindex,valueinenumerate(numbers):print(f"索引{index}:{value}")Python编程基础5.1.3列表推导式Python编程基础列表推导式的定义列表推导式(ListComprehension)是Python提供的一种简洁语法,用于通过简单的表达式快速生成新列表。与使用循环和条件语句相比,列表推导式语法更加紧凑,能让代码更清晰。Python编程基础列表推导式的语法列表推导式的语法如下:
[表达式for变量in可迭代对象]其中,
表达式:表示对每个元素执行的操作。
变量:用来表示当前迭代的元素。
可迭代对象:可以是列表、元组、字符串或其他可以迭代的对象。例如:squares=[x**2forxinrange(5)]print(squares)#输出:[0,1,4,9,16]Python编程基础列表推导式的语法在列表推导式中,可以通过if条件筛选元素。语法如下:
[表达式for变量in可迭代对象if条件]例如筛选偶数:even_numbers=[xforxinrange(10)ifx%2==0]print(even_numbers)#输出:[0,2,4,6,8]Python编程基础列表推导式的语法列表推导式还可以嵌套多个for循环,用于生成多维数据或处理组合问题。语法如下:
[表达式for变量1in可迭代对象1for变量2in可迭代对象2]例如生成笛卡尔积:even_numbers=[xforxinrange(10)ifx%2==0]print(even_numbers)#输出:[0,2,4,6,8]Python编程基础列表推导式的语法当需要对不同条件执行不同操作时,可以在表达式中嵌套三元运算符。语法如下:
[表达式1if条件else表达式2for变量in可迭代对象]例如对偶数平方,对奇数保留原值:result=[x**2ifx%2==0elsexforxinrange(5)]print(result)#输出:[0,1,4,3,16]Python编程基础列表推导式的语法列表推导式可以结合函数对元素进行复杂的操作。例如将字符串列表转为大写:words=["apple","banana","cherry"]upper_words=[word.upper()forwordinwords]print(upper_words)#输出:['APPLE','BANANA','CHERRY']Python编程基础Python编程基础Python编程基础项目5
列表、元组和字典5.2元组目录5.2.1定义和特点5.2.2元组操作5.2.3元组解包Python编程基础5.2.1定义和特点Python编程基础学习目标知识目标理理解元组(Tuple)的定义、结构特点及其不可变性掌握元组的创建方式、常用操作及其与列表的对比熟悉元组解包、嵌套元组、元组作为字典键等应用场景能力目标能够正确创建并访问元组元素能够使用切片、拼接、解包等操作处理元组数据能够根据实际需求选择元组或列表实现数据结构,并使用元组构建稳定的程序结构素养目标培养在编程中使用不可变数据结构保护数据的意识树立根据数据特性选择合适数据结构的习惯Python编程基础什么是元组
元组=Python中的不可变序列元组是Python中用于存储多个元素的不可变序列类型与列表类似,但元组一旦创建,其内容不可修改更安全、更高效,适用于保护数据、固定结构数据Python编程基础元组的定义与创建方式1、使用小括号()创建:t=(1,2,3)2、可省略小括号:t=1,2,33、单元素元组:必须添加逗号t=(10,)或t=10,4、支持多种类型混合:t=('Tom',20,True,3.14)5、
空元组t=()Python编程基础元组的特点1、
不可变性t=(1,2,3)t[0]=10
以上代码会报错误2、有序性
元组中的元素有固定顺序,可以通过索引访问特定位置的元素t=('a','b','c')print(t[0])#输出:'a'print(t[-1])#输出:'c'Python编程基础元组的特点3、允许重复
元组可以包含重复的元素t=(1,1,2,2,3)4、支持嵌套
元组可以包含其他元组或任意类型的数据。t=(1,(2,3),[4,5])5、占用空间小Python编程基础5.2.2元组操作Python编程基础元组的基本操作访问元素:t1[0]切片:t1[1:4]拼接:t1+t2重复:t*3成员判断:xint,返回值为true或falsePython编程基础元组的方法1、count():
用于统计某个元素在元组中出现的次数。例:t=(1,2,2,3,3,3),count(2)的值为22、index()返回某个元素第一次出现的索引。如果元素不存在,会引发ValueError。例:t.index(3)的值为4Python编程基础5.2.3元组解包Python编程基础元组解包的概念
元组解包(TupleUnpacking):允许我们将元组中的元素直接拆解并赋值给多个变量
例如a,b,c=(1,2,3),abc的值分别为1、2、3Python编程基础元组解包的要求1、变量数量必须与元组元素数量相同2、如果元组的长度超过变量数量,可以使用星号*来接收多余的元素。Python编程基础例:a,*b=(1,2,3,4)
a的值为1
b的值为[2,3,4]例:data=(1,2,3,4,5)
a,*middle,c=data
a的值为1
b的值为[2,3,4]c的值5元组解包的常见场景1、交换变量的值x,y=10,20x,y=y,x2、函数返回多个值defget_coordinates():return(10,20)x,y=get_coordinates()3、遍历元组列表Python编程基础元组操作练习任务目标:
创建两个元组并进行拼接查找元素等操作#创建元组t1、t2t1=(1,2,3,4,5)t2=(10,20,30,40,50)#将t1、t2元组拼接为一个元组result=t1+t2#判断t1元组中是否存在元素10x=10int1x的值为falsePython编程基础总结回顾元组定义与基础访问元组特性:
不可修改元组的解包元组操作练习Python编程基础Python编程基础Python编程基础项目5
列表、元组和字典5.3字典目录5.3.1定义和特点5.3.2字典操作5.3.3嵌套字典Python编程基础5.3.1定义和特点Python编程基础学习目标知识目标理解字典的概念与作用掌握字典的定义方式与基本结构理解字典的核心特点能力目标能正确创建和使用字典存储数据能在实际问题中选择字典解决映射类问题素养目标培养数据抽象与结构化思维树立利用恰当数据结构解决问题的意识Python编程基础什么是字典字典是一种以“键-值对(key-value)”形式存储数据的数据结构。通过“键”可以快速找到对应的“值”。Python编程基础生活中的字典类比•学号
→
学生信息•手机号
→
联系人•商品编号
→
商品详情特点:一一对应,查找迅速Python编程基础字典的基本定义
字典使用大括号{}定义,键值对用:分隔,多个键值对之间用逗号,分隔。
键:键是字典中用于查找的标识符,必须是唯一的,且必须是不可变的数据类型(如字符串、数字或元组)。
值:值是与键关联的数据,可以是任意类型,包括数字、字符串、列表、字典等。Python编程基础字典创建示例1、
定义一个空字典empty_dict={}
2、
定义一个包含数据的字典student={"name":"Alice","age":25,"major":"Physics"}Python编程基础字典创建示例3、
使用关键字参数创建字典student=dict(name="Alice",age=25,major="Physics")4、
使用列表或元组的序列创建字典pairs=[("name","Alice"),("age",25),("major","Physics")]student=dict(pairs)Python编程基础字典的特点一:键值对存储•每个键必须是唯一的,不允许重复。•键必须是不可变的数据类型(如字符串、数字、元组)。•值没有限制,可以是任何类型。
键不可重复,后面的值会覆盖前面的值person={"name":"Alice","age":25,"age":30}print(person)#输出:{'name':'Alice','age':30}Python编程基础字典的特点二:无序性(Python3.6+例外)在Python3.6+版本中,字典会按插入顺序存储键值对,但逻辑上字典仍然被视为无序的数据结构。Python编程基础字典的特点之三:动态性字典的大小可以动态调整,可以随时增加或删除键值对。例如:d={"a":1}d["b"]=2#添加新的键值对print(d)#输出:{'a':1,'b':2}Python编程基础字典的特点之四:高效性字典通过哈希表实现,具有快速的查找和插入性能。例如:d={"key1":100,"key2":200}print(d["key1"])#O(1)时间复杂度Python编程基础总结回顾字典是Python中重要的数据结构以键值对形式存储数据键唯一、不可变,值灵活查找效率高,应用广泛Python编程基础5.3.2字典操作Python编程基础学习目标知识目标掌握字典的常用操作方法能力目标能够使用字典完成数据的增删改查素养目标培养规范编程与数据管理意识Python编程基础字典基本操作-增加键值对通过指定字典的键,可以为字典添加新的键值对。如果键已经存在,则会更新对应的值。例如:
定义一个空字典,
添加新的键值对person={}person["name"]="Alice"person["age"]=30print(person)#输出:{'name':'Alice','age':30}Python编程基础字典基本操作-访问字典中的值可以通过键来访问字典中对应的值。如果键不存在,会引发KeyError异常。为了避免异常,可以使用get()方法。例如:1、
直接访问值person={"name":"Alice","age":30}print(person["name"])#输出:Alice2、
使用get()方法print(person.get("name"))#输出:Aliceprint(person.get("gender","N/A"))#输出:N/APython编程基础字典基本操作-修改字典中的值通过为现有键赋值,可以直接修改对应的值。例如:
修改字典中的值person={"name":"Alice","age":30}person["age"]=35print(person)#输出:{'name':'Alice','age':35}Python编程基础字典基本操作-删除键值对可以通过del关键字或pop()方法删除字典中的键值对。例如:person={"name":"Alice","age":30}1、
使用del删除delperson["age"]#删除键"age"print(person)#输出:{'name':'Alice'}2、
删除并返回键的值pop()方法删除指定键,并返回对应的值。如果键不存在,可以提供默认值避免异常。age=person.pop("age",None)#键不存在时返回Noneprint(age)#输出:None3、
使用clear()删除person.clear()#清空所有键值对print(person)#输出:{}Python编程基础字典基本操作-遍历字典有多种方式遍历字典,包括按键、值和键值对进行遍历。例如:person={"name":"Alice","age":30}1、
按键遍历forkeyinperson:print(key)#输出:name,age2、
按值遍历forvalueinperson.values():print(value)#输出:Alice,30Python编程基础字典的方法Python为字典提供了一系列内置方法,用于操作和处理键值对。1、dict.get(key,default=None)用于获取指定键的值,如果键不存在,则返回默认值。2、dict.keys()返回一个包含字典所有键的视图对象,可迭代3、dict.values()返回一个包含字典所有值的视图对象,可迭代。Python编程基础dict.values()返回一个包含字典所有值的视图对象,可迭代。字典的方法4、dict.items():返回一个包含所有键值对的视图对象,每个键值对是一个元组(key,value)。5、dict.pop(key,default=None):用于移除指定键,并返回其值。如果6、dict.popitem():随机移除并返回字典中的一对键值对(从Python3.7起移除最后一对键值对)。返回值是一个元组(key,value)。Python编程基础其他操作1、合并字典:可以通过update()方法将一个字典的键值对添加到另一个字典中。2、检查键或值的存在:使用in关键字可以检查字典中是否存在某个键。要检查值是否存在,可以使用values()。3、字典的复制:字典可以使用copy()方法创建浅拷贝。4、字典的长度:使用len()函数可以获取字典中键值对的数量。Python编程基础总结回顾掌握字典的增删改查灵活使用常用方法为后续数据处理打下基础常见错误访问不存在的键会报错键必须是不可变类型注意键的唯一性Python编程基础5.3.3嵌套字典Python编程基础什么是嵌套字典嵌套字典是指字典中的值也为一个字典。这种结构非常适合表示多层次、复杂的关联数据。Python编程基础嵌套字典创建1、直接定义students={"student1":{"name":"Alice","age":20},"student2":{"name":"Bob","age":22}}2、动态创建students={}students["student1"]={"name":"Alice","age":20}students["student2"]={"name":"Bob","age":22}Python编程基础嵌套字典的操作对于嵌套字典可以通过嵌套的键依次访问数据,可以直接修改嵌套字典的值,也可以通过del或pop()删除嵌套字典中的某个键值对。Python编程基础嵌套字典的操作对于嵌套字典可以通过嵌套的键依次访问数据,可以直接修改嵌套字典的值,也可以通过del或pop()删除嵌套字典中的某个键值对。Python编程基础嵌套字典的操作对于嵌套字典可以通过嵌套的键依次访问数据,可以直接修改嵌套字典的值,也可以通过del或pop()删除嵌套字典中的某个键值对。Python编程基础嵌套字典的操作示例students={"student1":{"name":"Alice","age":20},"student2":{"name":"Bob","age":22}}1、访问student1的名字print(students["student1"]["name"])#输出:Alice2、
访问student2的年龄print(students["student2"]["age"])#输出:223、
修改student1的年龄students["student1"]["age"]=21Python编程基础嵌套字典的操作示例students={"student1":{"name":"Alice","age":20},"student2":{"name":"Bob","age":22}}4、删除student2的记录delstudents["student2"]5、遍历嵌套字典forstudent_id,infoinstudents.items():print(f"StudentID:{student_id}")forkey,valueininfo.items():print(f"{key}:{value}")Python编程基础Python编程基础Python编程基础项目五列表、元组和字典5.4集合目录5.4.1定义和特点5.4.2集合操作5.4.3列表、元组、字典和集合的对比Python编程基础5.4.1定义和特点Python编程基础集合的定义集合可以通过两种方式创建:
(1)使用花括号{}包含元素。
(2)使用内置函数set()。例如:
使用花括号创建集合set1={1,2,3,4,5}print(set1)#输出:{1,2,3,4,5}Python编程基础集合的定义例如:
使用set()函数创建集合set2=set([3,3,2,1])#从列表创建集合,自动去重print(set2)#输出:{1,2,3}例如:
创建空集合(注意:{}创建的是空字典)empty_set=set()print(empty_set)#输出:set()Python编程基础集合的特点集合的特点:
元素是唯一的(自动去重)。
元素是无序的(不能通过索引访问元素)。
集合中的元素必须是不可变数据类型(如数字、字符串、元组)。Python编程基础
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020辅警笔试高分通关必刷试题及答案解析
- 移民档案管理工作制度
- 金昌市永昌县2025-2026学年第二学期五年级语文第五单元测试卷(部编版含答案)
- 黔东南苗族侗族自治州锦屏县2025-2026学年第二学期四年级语文第六单元测试卷(部编版含答案)
- 咸阳市彬县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 广元市青川县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 酒泉地区安西县2025-2026学年第二学期五年级语文第六单元测试卷(部编版含答案)
- 延边朝鲜族自治州敦化市2025-2026学年第二学期四年级语文期中考试卷(部编版含答案)
- 酒泉地区金塔县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 三明市梅列区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 一年级数学10以内加减法计算专项练习题(每日一练共12份)
- 2026上海人保财险校园招聘笔试历年常考点试题专练附带答案详解
- 2026特种作业场内专用机动车辆作业考试题及答案
- (二模)苏北七市2026届高三第二次调研测试生物试卷(含答案)
- 2026云南昆明巫家坝建设发展有限责任公司校园招聘15人备考题库【a卷】附答案详解
- 2025年华峰重庆氨纶笔试刷完稳过的真题及解析答案
- 2026年渭南职业技术学院单招职业适应性测试题库含答案详细解析
- 医疗法律法规培训课件
- 科大讯飞深度研究报告
- (正式版)DB37∕T 4863-2025 《数字经济发展评价指标体系》
- 医疗工作场所防止暴力行为中国版指南
评论
0/150
提交评论