一、列表基本使用
1.创建列表:
列表名称 = [数据1,数据2, …]
说明:使用[ ]表示创建列表
列表中存储的数据被称为元素
注:列表中可以存储不同数据类型的元素。
代码演示:
#1.创建列表
#1.1创建一个空列表
list1 = []
print(list1)
# 运行结果:
[]
#1.2创建一个带有元素的列表
list2 = [52,463,6,473,53,65]
print(list2)
# 运行结果:
[52, 463, 6, 473, 53, 65]
#2.思考问题:列表中能不能存储不同类型的数据?
list3 = ['abc',10,3.14,True]
print(list3)
# 运行结果:
['abc', 10, 3.14, True]
2.列表的索引/下标:
列表中的元素被从头到尾自动进行了编号,编号从0开始,这个编号被称为索引,角标或者下标
索引的取值范围:0~元素的个数 -1【列表的长度 -1】
超过索引的范围:列表越界
代码演示:
#创建列表
list1 = [5,51,6,76,98,3]
#需求:获取索引为3的位置上的元素
num = list1[3]
print(num)
# 运行结果:
76
# 需求:获取索引为6的位置上的元素
print(list1[6])
# 运行结果:
IndexError: list index out of range
# 超出索引范围报错
索引值为负数时列表从后向前输出
ages = [1, 2, 3, 4, 5]
print(ages[-1]) # 倒数第1个
print(ages[-2]) # 倒数第2个
# 运行结果:
5
4
4. 遍历列表:
1.元素遍历:
ages = [11, 22, 33, 44, 55]
for n in ages:
print(n)
# 运行结果:
11
22
33
44
55
2.下标遍历:
ages = [11, 22, 33, 44, 55]
for i in range(len(ages)):
print(i, ages[i]) # 下标
# 运行结果:
如上个程序结果
3.枚举/列举:
ages = [11, 22, 33, 44, 55]
for i,n in enumerate(ages):
print(i, n) # 下标和元素
# 运行结果:
如上个程序结果
4.从后往前遍历:
ages = [11, 22, 33, 44, 55]
for i in range(len(ages)-1, -1, -1):
print(i, ages[i])
# 运行结果:
4 55
3 44
2 33
1 22
0 11
5.切片截取:
切片, 截取 [start:stop:step] => 范围(start, stop) 包含start,不包含stop
ages = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(ages[:]) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(ages[3:]) # [4, 5, 6, 7, 8, 9]
print(ages[:4]) # [1, 2, 3, 4]
print(ages[4:7]) # [5, 6, 7]
print(ages[::-1]) # 倒序 [9, 8, 7, 6, 5, 4, 3, 2, 1]*经常使用*
print(ages[::2]) # [1, 3, 5, 7, 9]
print(ages[4:1:-1]) # [5, 4, 3]
6. 列表的重复:
可以通过list*int的形式重复列表
ages = [1, 2, 3]
print([1,2,3] * 3)
# 运行结果:
[1, 2, 3, 1, 2, 3, 1, 2, 3]
7. 判断列表的成员:
通过成员运算符 in、not in 来进行列表成员的判断
ages = [1, 2, 3]
print(4 in ages) # True
print(4 not in ages) # False
8. 合并列表:
print([1,2,3] + [4,5,6]) # [1, 2, 3, 4, 5, 6]
9.列表的删除:
ages = [1,,2, 3, 4, 5, 6, 7, 8, 9]
del ages[0]
print(ages) # [2, 3, 4, 5, 6, 7, 8, 9]
二、列表的功能
1.列表的函数/功能
内置函数:print(), len()
2.增删改查
1)列表的增加操作:
append(n)
在列表的末尾插入元素
nums = [2, 3, 4]
nums.append(5)
print(nums) # [2, 3, 4, 5]
insert(i, n)
在列表的指定下标位置插入元素
nums = [2, 3, 4]
nums.insert(2, 5) # [2, 3, 5, 4]
print(nums)
extend()
将另一个列表中的每个元素都添加到列表末尾
nums = [2, 3, 4]
nums.extend([5, 6, 7]) # [2, 3, 4, 5, 6, 7]
# nums.append([5, 6, 7]) # [2, 3, 4, [5, 6, 7]]
print(nums)
2)列表的删除操作
pop(n)
根据下标删除对应的元素, 默认删除最后一个元素
stars = ["宝强", "乃亮", "伊琍", "羽凡", "霆锋"]
# stars.pop() # ['宝强', '乃亮', '伊琍', '羽凡']
n = stars.pop(1) # ['宝强', '伊琍', '羽凡', '霆锋']
print(stars)
print(n) # n是删除的那个元素
remove(n)
删除指定的第一个元素
nums = [1, 2, 2, 2, 2, 3, 3, 4]
nums.remove(2) # [1, 2, 2, 2, 3, 3, 4]
print(nums)
删除所有指定元素
nums = [1, 2, 2, 2, 2, 3, 3, 4]
for _ in range(nums.count(2)):
nums.remove(2)
print(nums) # [1, 3, 3, 4]
clear()
清空列表
nums = [1,2,3,4,5,6,7]
nums.clear()
print(nums) # []
3)列表的修改操作
根据元素下标进行重新赋值进行修改。
nums = [1,2,3,4,5,6,7]
nums[0] = 99
print(nums) # [99, 2, 3, 4, 5, 6, 7]
3)列表的修改操作
单个查询:
nums = [1,2,3,4,5,6,7]
print(nums[0])
全部查询(遍历):
ages = [11, 22, 33, 44, 55]
for n in ages:
print(n)
index()查询:
#找到列表中第一次出现指定元素的下标, 如果不存在则报错
l = [1,2,3,4,2,2,2,2,4]
print(l.index(2))
# print(l.index(20))
三、数学函数与随机数
1.数学函数
max:求最大值
print(max([1, 2, 3, 1])) # 3
min:求最小值
print(min([1, 2, 3, 1])) # 1
abs:求绝对值
print(abs(-2)) # 2
round:四舍五入
#返回浮点数x的四舍五入值,如果给出n值,则表示舍入到小数点后几位
print(round(34.46)) # 34
print(round(34.46, 1)) # 34.5
2.math模块
pow(n,m):n的m次幂
import math
print(math.pow(2, 4), 2**4, pow(2, 4)) # 16.0 16 16
ceil():向上取整
import math
print(math.ceil(3.1)) # 4
floor():向下取整
import math
print(math.floor(3.9)) # 3
sqrt(n):n开平方
import math
print(math.sqrt(81)) # 9
注意:在使用以上函数时必须引入math!!!
3.随机数
randint(start, stop)
从范围[start, stop]中随机取一个数
print(random.randint(1, 3)) # 范围: 1,3,5,7,9
randrange(start, stop, step)
从范围[start, stop)中随机取一个数
print(random.randrange(1, 10, 2)) # 范围: 1,3,5,7,9
choice()
从指定的列表中(序列)随机获取一个
stars = ['杰伦', '俊杰', '奕迅', '力宏', '晨宇']
print(random.choice(stars))
random()
从范围[0,1)中随机取一个小数
print(random.random())
print(random.uniform(2, 4)) # 从[2,4] 取一个随机小数
shuffle()
将列表打乱
l = [1,2,3,4,5]
random.shuffle(l)
print(l)
四、习题
1.给定一个列表:将列表中指定的某个元素全部删除
2.自定义一个列表,最大的与第一个元素交换,最小的与最后一个元素交换,输出列表
3,对称列表. 传入一个列表,元素类型与个数皆未知,返回新列表,由原列表的元素正序反序拼接而成;
如传入[“One”, “Two” ,”Three”] 返回[“One”, “Two”, “Three” ,”Three” ,”Two”, “One”]
4,列表去重, 将下面的列表中重复的元素去除
明天发帖附答案!