☰
Python第二天
2026/10/12 6:22:25 网站建设 项目流程

一、数据容器

列表

列表名 = [元素、元素、元素]

participants = ["小林","小周","小李"]

num = [1,2,3,4,5,6,7,8,9,10]

(就拿num = [1,2,3,4,5,6,7,8,9,10]来为接下来的列表功能做例子)

(列表是有索引的,从前面往后是0、1、2......,从后面往前是-1、-2、-3......)

查看

按照对应元素所在位置,列表[索引]即可取出对应元素

(列表名[索引])

修改

(列表名[索引] = 替换内容)

找到对应位置的元素后,重新赋值即可修改

删除

remove : 按照值查找,删除第一个匹配的元素,如果没找到会报错

(列表名.remove(元素))

pop : 按照位置查找,弹出匹配位置的元素,可以使用变量接收。一般默认弹出最后一个,经常使用,如果数字超过range上限,则会报错

(列表名[索引],如果不指定索引,默认是最后一个)

del:这个跟pop功能类似

(del 列表名[索引],如果不指定索引,默认是最后一个)

增加

append :将元素增加到列表末尾(注意:要是加入一个列表,加入进去后,还是列表

(列表名.append(元素))

extend :将列表里面的元素,逐个添加到列表末尾

(列表名.extend(里面是一个列表以及其元素))

insert:在指定下标索引的位置加入指定的元素

(列表名.insert(索引下标,元素))

其他操作

clear:清空列表内容

(列表名.clear())

index:查找某个元素的下标

(列表名.index(元素))

count:统计某个元素在列表内的数量

(列表.count(元素))

len:统计列表内有多少个元素

(len(列表名))

索引和切片(正/负下标、步长)

scores = [88, 95, 76, 90, 83]
print("第 0 个(第一个):", scores[0]) # 88
print("第 2 个:", scores[2]) # 76
print("倒数第 1 个:", scores[-1]) # 83(从右往左数)
print("倒数第 2 个:", scores[-2]) # 90
print("切片 [1:4]:", scores[1:4]) # [95, 76, 90] 左闭右开
print("切片 [:] 复制:", scores[:]) # 整个列表的副本
print("步长 2 [0:5:2]:", scores[0:5:2]) # [88, 76, 83]
print("倒序 [::-1]:", scores[::-1]) # [83, 90, 76, 95, 88]

代码参数解读

  • scores[0]— 下标从0开始;scores[0]是第一个元素。

  • scores[-1]— 负数下标从末尾数,-1是最后一个。

  • scores[1:4]— 切片"左闭右开",包含下标 1~3,不含 4。

  • scores[0:5:2]— 第三个数是步长,每隔 2 取一个。

  • scores[::-1]— 步长为-1表示倒序。

预期效果

第 0 个(第一个): 88
第 2 个: 76
倒数第 1 个: 83
倒数第 2 个: 90
切片 [1:4]: [95, 76, 90]
切片 [:] 复制: [88, 95, 76, 90, 83]
步长 2 [0:5:2]: [88, 76, 83]
倒序 [::-1]: [83, 90, 76, 95, 88]

元组

元组名 = (元素、元素、元素)

注意:

1、元组由于不可修改的特性,所以其操作方法特别少,例如修改、增加、删除等操作都是不可行的,但是你若是在元组内嵌套了一个列表,是可以对列表内的元素进行操作的

2、index()、count()、len()这三个的使用方法跟列表的一样

打包和解包

第一种情况

a,b = b,a

第二种情况

t = (1,2,3,4,5,6,7) _,b,*rest = t print(b) print(rest)

字符串

字符串名 = 元素

(也就是变量名 = 值)

注意:

1、字符串跟元组很像,例如修改、增加、删除等操作也都是不可行的

2、index()、count()、len()这三个的使用方法跟列表的一样

集合

集合名 = {元素、元素、元素}

num = {1,2,3,4,5,6,7,8,9,10}

(就拿num = {1,2,3,4,5,6,7,8,9,10}来为接下来的列表功能做例子)

增加

add:添加一个元素

(集合名.add(元素))

update:增加多个元素

(集合名.update([元素、元素、元素]))

(相当于把列表里面的元素,单独add到集合里面)

删除

remove:查找并删除元素,如果元素不存在,则会报错

(集合名.remove(元素))

discard:查找并删除元素,如果元素不存在,无事发生

(集合名.discard(元素))

pop:随机弹出一个元素

(集合名.pop())

集合之间的运算

& 交集 找出两个集合之间的共同元素,构成新集合

| 并集 找出两个集合的所有元素,构成新集合

— 差集 A - A & B ,剔除所有A中同时属于B的元素

^ 对称差 A | B - A & B ,A与B的并集中,剔除所有AB交集的元素

(&、|、-、^这几个只是快捷符号,这几个符号都有英文)

成员判断

a in A 表示判断 a 是否属于 A

a not in A 表示判断 a 是否不属于 A

字典

字典名 = {key:value,key:value,key:value}

scores = {"语文": 88, "数学": 95, "英语": 76}

(拿这个举例子)

查看(取不到前者报错,后者返回默认)

(列表名[key])

(列表名.get(key,默认值))注意:找到key,就返回其对应的value,没有找到key,就返回你设置的默认值

增加&修改

scores = {"语文": 88, "数学": 95}
scores["英语"] = 76 # key 不存在 -> 新增
print("新增英语:", scores) # {'语文':88,'数学':95,'英语':76}

scores["数学"] = 100 # key 已存在 -> 修改
print("改数学:", scores) # {'语文':88,'数学':100,'英语':76}

删除(pop / del / clear)

scores = {"语文": 88, "数学": 95, "英语": 76}
v = scores.pop("语文") # 删 key 并返回其值
print("pop 语文:", v, scores) # 88 {'数学':95,'英语':76}

del scores["数学"] # 直接用 del 删,不返回
print("del 数学:", scores) # {'英语': 76}

scores.clear() # 清空
print("clear:", scores) # {}

遍历(keys / values / items)与判断 key

scores = {"语文": 88, "数学": 95, "英语": 76}
print("=== 遍历 key ===")
for k in scores.keys():
print(k)

print("=== 遍历 value ===")
for v in scores.values():
print(v)

print("=== 遍历 key-value(最常用) ===")(得到的是一个元组,可以打包解包)
for k, v in scores.items():
print(f"{k}: {v}")

print("'数学' 这个 key 在吗:", "数学" in scores) # True
print("查 value 在吗(慢):", 95 in scores.values()) # True

代码逐参数解读:

  • d.keys()— 所有键;d.values()— 所有值;d.items()— 所有(键, 值)对。

  • "数学" in scores— 判断 key 是否存在(很快);判断 value 要用in scores.values()(慢一些)。

容器转换

1、三种容器之间可以自由转换

2、当前容器转换成另一种容器,也会拥有另一种容器的特性,数据也会发生相对应的变化

二、判断

条件判断if / elif / else

三元运算符

注意:

1、还有一种判断方式,那就是match / case

2、还有嵌套判断

三、循环

for循环

注意:

# 三种写法: # range(stop) 0 ~ stop - 1 # range(start,stop) start ~ stop - 1 # range(start,stop,step)

while循环

for循环和while循环共同点

# break : 提前结束循环 # continue : 跳过本次循环,开始下一次循环 # pass : 占位语句

扩展知识:

enumerate

注意:用enumerate处理数据,处理后是元组类型数据

zip

注意:用zip处理数据,处理后是元组类型数据

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询