Day4 列表

本文介绍了Python中的列表数据类型,包括列表的定义、特点(可变且有序),以及如何通过下标进行访问。文章详细讲解了列表的增删改查操作,如查单个元素、遍历列表、修改元素值、添加元素(append和insert)、删除元素(del,remove,pop)。此外,还讨论了列表的加法、乘法以及in/notin运算符和sum、max、min、sorted等函数的使用。
摘要由CSDN通过智能技术生成

Day4

重点

列表

1.什么是列表(list)

1.列表是Python提供的容器型数据类型(可以同时保存多个数据);

将中括号[ ]作为容器的标志,里面多个元素用逗号隔开:[ ]

2.列表是可变的(元素的个数和值可变);列表是有序的(支持下标操作)

3.元素:任何类型的数据都可以作为列表的元素

说明

容器型数据 - 可以同时保存多个数据

元素 - 容器中的每个独立的数据

1)空列表
list1=[]
print(list1)
2)列表的元素
list3=[18,278,'asb',None,False]
list4=[10,[10,20]]
print(list3)
print(list4)
3)列表是有序的
print([10, 20] == [20, 10])  # False 证明列表是有序的
print({10, 20} == {20, 10})  # True因为集合是无序的则为True
2.列表的增删改查
1.查 - 获取列表中的元素

1)查单个 - 获取列表中的某一个元素

语法: 列表[下标]

说明: a.列表 - 可以是具体的一个列表,也可以是保存列表的变量

​ b.[ ] - 固定写法

​ c.下标 - 又叫索引;列表的下标指的是列表中的元素在列表中的位置信息。

​ 第一种下标(通用的):元素从前往后对应的下标从0开始依次增加

​ 第二种下标:元素从后往前对应的下标从-1开始依次减少

注意:下标不能越界

nums = [10, 29, 23]
print(nums[-1], nums[2])	#23 23
print(nums[0])				#10
print(nums[3])				#报错!因为下标越界了

2)遍历列表 - 一个一个的获取列表中的每个元素

语法1:

​ for 变量 in 列表:

​ 循环体

'''案例 统计scores中不及格的分数'''
scores = [90, 34, 79, 99, 100, 77, 56, 67, 55]
count = 0
for x in scores:
    if x < 60:
        count += 1
print(count)			#3

语法2:

​ for 变量 in range(len(列表)):

​ 循环体(列表[变量])

补充:len(列表) - 获取列表中元素的个数(获取列表的长度)

#统计scores中不及格分数的个数
scores = [90, 34, 79, 99, 100, 77, 56, 67, 55]
count = 0
for x in scores:
    if x < 60:
        count += 1
print(count)

scores = [90, 34, 79, 99, 100, 77, 56, 67, 55]
for x in range(len(scores)):
    print(x, scores[x])
2.改 - 修改元素的值

1)语法:列表[下标] = 新值 - 修改列表中指定下标对应的元素为指定的新值

nums = [10, 20, 30]
print(nums)
nums[0] = 23
print(nums)			#[23,20,30]

2)列表的遍历

scores = [90, 34, 79, 99, 100, 77, 56, 67, 55]
for index in range(len(scores)):
    y = scores[index]
    if y < 60:
        scores[index] = '重修'
print(scores)			#[90,'重修','79','99,'100','77','重修','67','重修']
3.增 - 添加元素

1)列表.append(元素) - 在指定的最后添加指定的元素

heroes = ['王昭君', '猪八戒', '孙悟空', '后羿', '鲁班7号']
print(heroes)   # ['王昭君', '猪八戒', '孙悟空', '后羿', '鲁班7号']

heroes.append('赵云')
print(heroes)   # ['王昭君', '猪八戒', '孙悟空', '后羿', '鲁班7号', '赵云']


#提取scores中所有不及格的分数,产生一个新的列表
scores = [90, 34, 79, 99, 100, 77, 56, 67, 55]
new_scores = []
for y in scores:
    if y < 60:
        new_scores.append(y)
print(new_scores)			#[34,56,55]

2)列表.insert(下标,元素) - 将元素插入到列表中指定下标对应的元素前

heros=['王昭君','猪八戒','孙悟空','后裔','鲁班7号']
print(heros)					#['王昭君', '猪八戒', '孙悟空', '后裔', '鲁班7号']
heros.insert(1,'赵云')
print(heros)					#['王昭君', '赵云', '猪八戒', '孙悟空', '后裔', '鲁班7号']
4.删 - 删除元素

1)del 列表[下标] - 删除列表中指定下标对应的元素

heros=['王昭君','猪八戒','孙悟空','后裔','鲁班7号']
print(heros)
del heros[1]
print(heros)		## ['王昭君', '孙悟空', '后羿', '鲁班7号']

2)列表.remove(元素) - 删除列表中第一个指定的元素 删除过后元素不存在了

heros=['王昭君','猪八戒','孙悟空','后裔','猪八戒','鲁班7号']
print(heros)
heros.remove('猪八戒')
print(heros)				#只删除一个猪八戒
#heros.remove('赵云')		#若删除不存在的元素 则会报错

3)列表.pop() - 取出列表中最后一个元素,并且返回(pop操作就是从列表中取走的数据)

列表.pop(下标) - 取出列表中指定下标元素

heros = ['王昭君', '猪八戒', '孙悟空', '后裔', '鲁班7号']
result1 = heros.pop()
print(result1)				#取出列表中最后一个元素,鲁班7号
result2 = heros.pop(2)
print(heros, result2)		#['王昭君', '猪八戒', '后裔'] 孙悟空
3.列表其他应用
1.列表的加法

列表1+列表2 - 将两个列表合并成一个新的列表

A=[10,20,30]
B=[100,200]
C=A+B
print(C)				#[10,20,30,100,200]
2.列表的乘法

列表N、N列表 - 将列表重复N次产生一个新的列表

A=[10,20,30]
B=A*2
print(B)				#[10,20,30,10,20,30]
3.in和not in

数据 in 列表 - 判断指定数据是否是列表中的元素

数据 not in 列表 - 判断指定数据是否不是列表中的元素

A = [10, 20, 30]
B = [1, 2, 3, 4, 5]
print(10 in A)			#True
print(10 in B)			#False
4.列表相关函数:sum、max、min、sorted

sum(列表) - 求列表中所有元素的和(列表中的元素必须全部是数字)

A = [10, 20, 30]
print(sum(A))			#60

max(列表) - 获取列表中的最大元素

min(列表) - 获取列表中的最小元素

sorted(列表) - 将列表中的元素升序排序(从大到小),产生一个新列表,不改变原列表

scores=[56,278,324,355,53,5,4,43]
new_scores=sorted(scores)
print(new_scores)			#[355,324,278,56,53,43,5,4]

new_scores=sorted(scores,reverse=True)
print(new_scores)			#[4,5,43,53,56,278,324,355]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值