内容正文:
专题05 数据与列表
信息技术特色专项
授课教师:
日期:2024.0.1.01
学习目标
01
02
理解列表的概念
掌握列表的常见操作
掌握元组的使用方法
理解列表和元组的区别
03
04
学习目录
列表
01
元组
02
PART 01
列表
01
列表(list)是包含0个或多个元素的有序序列,属于序列类型。
列表的长度和内容都是可变的,可自由对列表中的元素进行增加、删除或替换。
列表没有长度限制,元素类型可以不同,可以同时包含整数、实数、字符串等基本类型,也可以是列表、元组、字典、集合以及其他自定义类型的对象,使用非常灵活。
>>>animal = ['elephant', 'monkey', 'snake', 'tiger']
>>>animal
['elephant', 'monkey', 'snake', 'tiger']
创建列表的方式很简单,只需将逗号分隔的不同元素使用方括号括起来即可。
例如:
列表
02
列表
与字符串的索引一样,列表索引也是从0开始的。我们可以通过下标索引的方式来访问列表中的值。
>>>animal[0]
'elephant'
例如:
提示
与整数和字符串不同,列表要处理一组数据,因此,列表必须通过显式的数据赋值才能生成,简单将一个列表赋值给另一个列表不会生成新的列表对象,只是产生对原有列表的一个新的引用。
03
例:列表的赋值与引用。
stu_1 = ['001', 'Wangwu', 98] #使用数据赋值创建列表stu_1
stu_2 = stu_1 #stu_2是stu_1所对应数据的应用,stu_2并不包含真实数据
print(stu_1, stu_2) #输出stu_1和stu_2
stu_1[0] = '002' #修改元素stu_1[0]的值为'002'
print(stu_1, stu_2) #输出stu_1和stu_2
程序运行效果
列表
04
列表
也可以使用list()函数将字符串、range对象、元组等对象转换为列表。其语法格式为list(obj),其中obj为需要转换的对象。
>>>list('hello world') #将字符串转换为列表
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
>>>list(range(1,10,2)) #将range对象转换为列表
[1, 3, 5, 7, 9]
05
1.使用while循环遍历列表
使用while循环遍历列表,首先需要获取列表的长度,将获取的列表长度作为while循环的判断条件。
例:使用while循环遍历列表。
animal = ['elephant', 'monkey', 'snake', 'tiger'] #创建列表animal
length = len(animal) #获取列表的长度赋给length
i = 0 #循环遍历i初值为0
while i < length: #当i小于length时循环
print(animal[i]) #输出列表元素
i += 1 #循环变量加1
程序运行效果
列表
06
2.使用for循环遍历列表
使用for循环遍历列表的方式非常简单,只需要将要遍历的列表作为for循环表达式中的序列即可。
例:使用for循环遍历列表。
animal = ['elephant', 'monkey', 'snake', 'tiger'] #创建列表animal
for name in animal: #将要遍历的列表作为for循环表达式中的序列
print(name) #输出name
程序运行效果
列表
07
1.增加元素
list.append(obj)
list表示列表
obj表示添加到列表末尾的对象
append()方法:使用append()方法可在列表末尾添加新的元素。
例如:
>>>add_list = [0,1,2,3] #创建列表add_list并赋值
>>>add_list.append(4) #使用append()方法给add_list末尾添加元素4
>>>add_list #打印add_list
[0, 1, 2, 3, 4]
列表
08
列表
extend()方法:使用extend()方法可在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
list.extend(seq)
list表示列表
seq表示添加到列表中的元素列表
例:比较extend()方法与append()方法添加列表元素的不同。
list_1 = [1,2,3] #创建列表list_1并赋值
list_2 = [4,5,6] #创建列表list_2并赋值
list_3 = [7,8,9] #创建列表list_3并赋值
list_1.append(list_2) #将list_2看作一个对象,整体打包添加到list_1对象中
print(list_1) #输出list_1
list_2.extend(list_3) #将list_3看作一个序列,将这个序列和list_2序列合并
print(list_2) #输出list_2
程序运行效果
09
列表
insert()方法:使用insert()方法可将指定对象插入到列表的指定位置。
list.insert(index,obj)
list表示列表
index表示对象需要插入的索引位置
obj表示要插入列表中的对象
例如:
>>>number = [1,2,4,5] #创建列表number并赋值
>>>number.insert(2,3) #使用insert()方法将元素3添加到列表索引为2的位置中
>>> number #打印number
[1, 2, 3, 4, 5]
10
列表
2.查找元素与计数
index()方法:用于返回指定元素在列表中首次出现的位置,如果该元素不在列表中则抛出异常。
list.index(obj)
list表示列表
obj表示要查找的对象
例:在列表中查找元素,如果找到,输出该元素在列表中的索引位置,否则输出未找到。
animal = ['elephant', 'monkey', 'snake', 'tiger'] #创建列表animal
x = input('请输入要查找的动物名称:') #输入要查找的元素
if x in animal: #查找是否存在
a = animal.index(x) #返回索引
print('元素{0}在列表中的索引为:{1}'.format(x,a)) #输出索引号
else:
print('列表中不存在该元素') #输出未找到信息
11
列表
count()方法:统计指定元素在列表中出现的次数。
list.count(obj)
list表示列表
obj表示列表中要统计的对象
例如:
>>>x = [1,2,1,2,1,2] #创建列表
>>>x.count(1) #使用count()方法统计1在变量x中的出现次数
3
12
3.删除元素
del命令:可根据索引删除列表中的元素,还可以使用分片的方式删除列表中的元素。
例如:
>>>number = [1,2,3,4,5] #创建列表number并赋值
>>>del number[2] #使用del命令删除number中索引为2的元素
>>>number #打印number
[1, 2, 4, 5]
>>>number = [1,2,3,4,5] #创建列表number并赋值
>>>del number[1:3] #使用del命令删除索引从1到3(不包括3)的元素
>>>number #打印number
[1, 4, 5]
列表
13
pop()方法:用于移除列表中的一个元素(默认为最后一个元素),并且返回该元素的值。
list.pop([obj])
list表示列表
obj为可选参数,表示移除列表元素的索引值,默认为-1,删除最后一个列表值
例如:
>>>number = [1,2,3,4,5] #创建列表number并赋值
>>>number.pop() #使用pop()方法删除number中的元素
5
>>>number #打印number
[1, 2, 3, 4]
>>>number.pop(0) #使用pop()方法删除number中索引为0的元素
1
>>>number #打印number
[2, 3, 4]
列表
14
列表
3)
remove()方法:用于移除列表中某个值的第一个匹配项。
list.remove(obj)
list表示列表
obj表示列表中要移除的对象
例:删除列表中所有的指定元素。
x = ['123','abc','xyz','abc','python'] #创建列表x并赋值
while 'abc' in x: #循环
x.remove('abc') #使用remove()方法删除x中值为'abc'的元素
print(x) #输出x
程序运行效果
15
4.列表排序
reverse()方法:用于将列表中的元素反向存放。
list.reverse()
list表示列表,该方法没有参数,没有返回值
例如:
>>>x = [1,2,3,4] #创建列表并赋值
>>>x.reverse() #使用reverse()方法将变量x中的元素反向存放
>>>x #打印变量x
[4, 3, 2, 1]
列表
16
2)
sort()方法:用于对原列表进行排序(默认为升序排序),排序后的新列表会覆盖原列表。
list.sort([key=None][,reverse=False])
list表示列表
key为可选参数,如果指定了该参数,会使用该参数的方法进行排序
reverse为可选参数,表示是否反向排序,默认为False
例:给定任意n个整数,按由小到大次序对其进行排序,并输出结果。
x = [3,2,1,5,4] #创建列表并赋值
x.sort() #使用sort()方法对变量x中的元素进行升序排序
print(x) #输出列表x
程序运行效果
列表
17
sorted()函数:与sort()方法不同,内置函数sorted()返回新列表,并不对原列表进行任何修改。
sorted(iterable[,key=None][,reverse=False])
iterable表示可迭代对象,在这里就是列表名
参数key和reverse的用法与sort()方法中的相同
例如:
>>>x = [1,5,2,3,4] #创建列表并赋值
>>>y=sorted(x) #将x中的元素升序排序后赋给变量y
>>>x #输出x
[1, 5, 2, 3, 4]
>>>y #输出y
[1, 2, 3, 4, 5]
列表
PART 02
元组
01
元组(tuple):与列表类似,不同之处在于不能修改元组的元素,元组使用圆括号包含元素,而列表使用方括号包含元素。
创建元组:只需要在圆括号中添加元素,并使用逗号分隔元素即可,也可省略圆括号,直接使用逗号分隔元素。
例如:
>>>x=('a', 'b', 1, 2,3) #创建元组x
>>>x #输出x
('a', 'b', 1, 2,3)
>>>y='a','b','c','d' #创建元组y时省略了圆括号
>>>y #输出y
('a','b','c','d')
提示
(1)如果要定义一个空元组,可以用没有包含内容的圆括号来表示。
(2)Python在定义只有1个元素的元组时,在元素后面必须加一个逗号“,”。
>>>x = () #创建空元组x
>>>x = (1,) #创建只有一个元素的元组x
02
1.访问元组
与列表类似,可以使用下标索引来访问元组中的值。
>>>x = ('a',1,3.14) #创建元组x
>>>x[0] #输出元组索引为0的元素
'a'
>>>x[1] #输出元组索引为1的元素
1
>>>x[2] #输出元组索引为2的元素
3.14
例如:
03
2.合并元组
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合。
例如:
>>>x = (1, 2, 3) #创建元组x
>>>y = ('a', 'b') #创建元组y
>>>z = x + y #将元组x和y进行连接组合后赋给z
>>>z #输出z
(1, 2, 3, 'a', 'b')
04
3.元组的遍历
与列表一样,也可以使用for循环来遍历元组中的所有元素。
例:元组的遍历。
x=(1, 2, 3, 4, 5) #创建元组x
for n in x: #循环
print(n,' ',end="") #输出元素
程序运行效果
感谢欣赏
$$null