赞
踩
1.序列是Python中最基本的⼀种数据结构。
——
2.序列⽤于保存⼀组有序的数据,
——
3. 所有的数据在序列当中都有⼀个唯⼀的位置(索引)
——
4.序列中的数据会按照添加的顺序来分配索引
(数据结构指计算机中数据存储的⽅式)
a.可变序列(序列中的元素可以改变):例如 列表(list)字典(dict)
——
b.不可变序列(序列中的元素不能改变):例如 字符串(str)元组(tuple)
1.列表是Python中的⼀个对象
——
2.列表的作⽤
a.列表中可以保存多个有序数据
b.列表是用来存储对象的对象
——
3.列表中可以保存多个有序的数据
——
4.列表是⽤来存储对象的对象
#列表可以存储不同类型的数据
list1=[12,"python",True,None,[1,2,3]]
print(list1)
#列表是一个对象:存储对象的对象
print(list1[3]) #取列表的第四个元素
print(len(list1)) #列表的长度
print(list1[-1])#取倒数第一个元素
C:\Users\dell\PycharmProjects\untitled11\venv\Scripts\python.exe C:/Users/dell/PycharmProjects/untitled11/Day4/列表.py
[12, 'python', True, None, [1, 2, 3]]
None
5
[1, 2, 3]
1.列表的创建:通过[]来创建⼀个空列表
1.切⽚是指从现有列表中获得⼀个⼦列表
——
2.通过切⽚来获取指定的元素
——
3.语法: 列表[起始 : 结束 : 步⻓]
——
4.通过切⽚获取元素时,会包括起始位置的元素,不会包括结束位置的元素
——
5.起始位置和结束位置的索引可以不写
a.如果省略结束位置, 则会从当前的开始位置⼀直截取到最后
b.如果省略开始位置, 则会从第⼀个元素截取到结束的元素,但是不包括结束的元素
c.如果开始位置和结束位置都省略, 则则会从第⼀个元素开始截取到最后⼀个元素
——
6.步⻓表示每次获取元素的间隔,默认是1(可以省略不写)
——
7.步⻓不能是0,但可以是是负数
#切片是指从现有的序列当中,取出一个子序列,我们可以通过切片去获取
#语法: list[起始位置:结束位置:步长] 左闭右开区间
#默认语法: [0:最后:1]----> list[:]
#切片不会影响原来的序列,而会产生新的列表
hero=['项羽','刘邦','张良','范增','韩信']
print(hero[0:2]) #['项羽', '刘邦']
print(hero) #['项羽', '刘邦', '张良', '范增', '韩信']
print(hero[-1:-3:-1]) #['韩信', '范增']
['项羽', '刘邦']
['项羽', '刘邦', '张良', '范增', '韩信']
['韩信', '范增']
1. + 和 *
a. + 可以将两个列表拼接成⼀个列表
b. * 可以将列表重复指定的次数 (注意2个列表不能够做乘法,要和整数做乘法算)
#加法操作
"""
a=[1,2,3]+[4,5,6]
print(a)#[1, 2, 3, 4, 5, 6]
"""
#列表无减法除法运算
#列表有乘法
"""
a=[1,2,3]
a=a*4
print(a)#[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
"""
——
2. in 和 not in
in⽤来检查指定元素是否在列表当中
not in ⽤来检查指定元素是否不在列表当中
"""
#in 用来检测指定元素是否在列表中
a=[1,2,3,4,5,6]
print(4 in a)#True
#not in 用来检测指定元素是否不在列表中
print(4 not in a)#False
"""
——
3.len() 获取列表中元素的个数
list1=[12,"python",True,None,[1,2,3]]
print(len(list1)) #列表的长度
5
——
4.max() 获取列表中最⼤值
#max() 寻找列表中的最大元素
print(max([1,2,3,4,5,8]))#8
——
5.min() 获取列表中最⼩值
#min() 寻找列表中最小的元素
print(min([-1,-9,7,8,]))#-9
——
6.list.index(x[, start[, end]])
第⼀个参数 获取指定元素在列表中的位置
第⼆个参数 表示查找的起始位置
第三个参数 表示查找的结束位置
#list.index("元素名") 查找数据 返回的是一个列表的索引
hero=['项羽','刘邦','张良','范增','韩信']
print(hero.index('韩信'))#4
——
7.list.count(x) 统计指定元素在列表中出现的个数
#list.count('元素名') 获取列表中一个元素相同的数量
hero=['项羽','刘邦','张良','范增','韩信','张良','张良','张良']
print(hero.count('张良')) #4
——
1.通过切⽚来修改(起始就是给切⽚的内容重新赋值,但是赋值的内容必须是⼀个序列)
——
2.当设置了步⻓时,序列中元素的个数必须和切⽚中元素的个数保持⼀致
——
3.通过切⽚来删除元素
del list[起始 : 结束]
list = []
#字符串的字符不能修改
#del list[索引号] 关键字删除
hero=['项羽','刘邦','张良','范增','韩信',[[1,2,3],[2],[3]]]
del hero[5][0][2] #['项羽', '刘邦', '张良', '范增', '韩信', [[1, 2], [2], [3]]]
print(hero)
C:\Users\dell\PycharmProjects\untitled11\venv\Scripts\python.exe C:/Users/dell/PycharmProjects/untitled11/Day4/修改列表.py
['项羽', '刘邦', '张良', '范增', '韩信', [[1, 2], [2], [3]]]
Process finished with exit code 0
1.append() 像列表的最后添加⼀个元素
hero=['项羽','刘邦','张良','范增','韩信']
#添加操作 一般添加在末尾
hero.append('萧何') #
print(hero)
['项羽', '刘邦', '张良', '范增', '韩信', '萧何']
——
2.insert(arg1,arg2) 像列表指定位置插⼊⼀个元素 参数1:要插⼊的位置 参数2:要插⼊的元素
#list.insert() 向列表中的指定位置插入一个元素,第一个参数是要插入的位置,第二个参数是要插入的元素
#list.insert(插入的位置,插入的元素)
hero=['项羽','刘邦','张良','范增','韩信']
hero.insert(2,"曹参") #['项羽', '刘邦', '曹参', '张良', '范增', '韩信']
print(hero)
['项羽', '刘邦', '曹参', '张良', '范增', '韩信']
——
3.extend(iterable) 使⽤⼀个新的序列来扩展当前序列(它会将该序列的中元素添加到列表中) 参数需要传递⼀个序列
#list.extend()使用新的序列添加进去,添加到列表最后
hero=['项羽','刘邦','张良','范增','韩信']
hero.extend(["樊哙","陈平",["纪信","项伯"]]) #
print(hero)
['项羽', '刘邦', '张良', '范增', '韩信', '樊哙', '陈平', ['纪信', '项伯']]
——
4.pop() 根据索引删除并返回指定元素
#列表的删除操作
#list.pop() 根据索引删除并返回执行的元素,如果不传递索引,默认删除最后一个
hero=['项羽','刘邦','张良','范增','韩信']
result=hero.pop(1) #删除了第二个元素,result表示删除的元素
print(result,hero)
result=hero.pop() #韩信 ['项羽', '刘邦', '张良', '范增']
print(result,hero)
刘邦, ['项羽', '张良', '范增', '韩信']
韩信 ['项羽', '张良', '范增']
——
5.remove() 删除指定元素 (如果相同值的元素有多个,只会删除第⼀个)
#list.remove() 删除指定的元素
hero=['项羽','刘邦','张良','范增','韩信']
hero.remove("项羽") #
print(hero)
['刘邦', '张良', '范增', '韩信']
——
6.reverse() 翻转列表
#list.reverser() 反转列表
hero=['项羽','刘邦','张良','范增','韩信']
hero.reverse()#
print(hero)
['韩信', '范增', '张良', '刘邦', '项羽']
——
7.sort(key=None,reverse=False) ⽤来对列表中的元素进⾏排序 reverse:True反序;False 正序
#list.sort() 对列表中的元素进行排序,默认是升序
hero=list("kajfkjajfkkfjkjv")
hero.sort(reverse=True)#reverse表示反转降序
print(hero)
['v', 'k', 'k', 'k', 'k', 'k', 'j', 'j', 'j', 'j', 'j', 'f', 'f', 'f', 'a', 'a']
——
通过for循环来遍历列表:
语法:
for 变量 in 序列(遍历的规则):
代码块
——
注意: for循环的代码块会执⾏多次,序列中有⼏个元素就会执⾏⼏次。每执⾏
⼀次就会将序列中的⼀个元素赋值给变量,所以我们可以通过变量来获取列表
中的元素
#语法:for 变量 in 序列:
# 代码块
hero=['项羽','刘邦','张良','范增','韩信','周勃']
for i in hero:
print(i) #项羽
#刘邦
#张良
# 范增
# 韩信
# 周勃
项羽
刘邦
张良
范增
韩信
周勃
list1=[1,2,3,4,5]
list2=[]
for i in list1:
i+=1
list2.append(i)
print(list2)
[2]
[2, 3]
[2, 3, 4]
[2, 3, 4, 5]
[2, 3, 4, 5, 6]
参数说明
·start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于
range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1,
2, 3, 4]没有5
step:步⻓,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
#语法: range(开始位置,结束位置,步长) 左闭右开型
print(list(range(9)))#[0, 1, 2, 3, 4, 5, 6, 7, 8]
for i in range(9):
print(i)
[0, 1, 2, 3, 4, 5, 6, 7, 8]
0
1
2
3
4
5
6
7
8
Process finished with exit code 0
a=[1,2,3,4,5,6]
print("反转前:",a)
a=a[::-1]
print("反转后:",a)
C:\Users\dell\PycharmProjects\untitled11\venv\Scripts\python.exe C:/Users/dell/PycharmProjects/untitled11/Day4/作业/第一题.py
反转前: [1, 2, 3, 4, 5, 6]
反转后: [6, 5, 4, 3, 2, 1]
import random a=[] j=0 for i in range(10): s=random.randint(0,10) a.append(s) #print(a) while j<9: print(f"第{j+1}次机会:") b = eval(input("请输入一个1到10数字的任意一个数字,你有九次输入的机会:")) if b>10: print("输入有误,重新输入") if b in a: a.remove(b) j+=1 print("错误") else: print("次数已经超过九次") print(a[0],"是中奖数字")
C:\Users\dell\PycharmProjects\untitled11\venv\Scripts\python.exe C:/Users/dell/PycharmProjects/untitled11/Day4/作业/第二题.py 第1次机会: 请输入一个1到10数字的任意一个数字,你有九次输入的机会:9 错误 第2次机会: 请输入一个1到10数字的任意一个数字,你有九次输入的机会:8 错误 第3次机会: 请输入一个1到10数字的任意一个数字,你有九次输入的机会:7 错误 第4次机会: 请输入一个1到10数字的任意一个数字,你有九次输入的机会:6 错误 第5次机会: 请输入一个1到10数字的任意一个数字,你有九次输入的机会:5 错误 第6次机会: 请输入一个1到10数字的任意一个数字,你有九次输入的机会:4 错误 第7次机会: 请输入一个1到10数字的任意一个数字,你有九次输入的机会:3 错误 第8次机会: 请输入一个1到10数字的任意一个数字,你有九次输入的机会:2 错误 第9次机会: 请输入一个1到10数字的任意一个数字,你有九次输入的机会:1 错误 次数已经超过九次 3 是中奖数字 Process finished with exit code 0
lst1=[11,22,33]
lst2=[22,33,44]
for i in lst2:
if i in lst1:
print(i)
22
33
import random teacher=[1,2,3,4,5,6,7,8]#八位老师 room=[[],[],[]]#3个办公室 print("随机分配后;") while True: for i in teacher: #print(i) room[random.randint(0,2)].append(i) #print(room) if len(room[0])!=0 and len(room[1])!=0 and len(room[2])!=0: print(room) break
C:\Users\dell\PycharmProjects\untitled11\venv\Scripts\python.exe C:/Users/dell/PycharmProjects/untitled11/Day4/作业/第四题.py
随机分配后;
[[1, 2], [3, 5, 8], [4, 6, 7]]
`
```python
随机分配后;
[[5, 7], [3, 6, 8], [1, 2, 4]]
随机分配后;
[[1, 3], [2, 4, 7], [5, 6, 8]]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。