广州网站制作是什么,漯河网站建设 千弘网络,纯静态网站怎么入侵,嵌入式软件工程师前景文章目录 2.3.2列表2.3.2.1列表介绍2.3.2.1.1列表的格式2.3.2.1.2打印列表 2.3.2.2列表的增删改查2.3.2.2.1列表的遍历2.3.2.2.1.1使用for循环2.3.2.2.1.2使用while循环 2.3.2.2.2添加元素(增append, extend, insert)2.3.2.2.2.1append 2.3.2.2.2.2extend2.3.2.2.2… 文章目录 2.3.2列表2.3.2.1列表介绍2.3.2.1.1列表的格式2.3.2.1.2打印列表 2.3.2.2列表的增删改查2.3.2.2.1列表的遍历2.3.2.2.1.1使用for循环2.3.2.2.1.2使用while循环 2.3.2.2.2添加元素(增append, extend, insert)2.3.2.2.2.1append 2.3.2.2.2.2extend2.3.2.2.2.3extend 2.3.2.2.3删除元素(删del, pop, remove)2.3.2.2.3.1del2.3.2.2.3.2pop2.3.2.2.3.3remove 2.3.2.2.4修改元素(改)2.3.2.2.5查找元素(查in, not in, index, count)2.3.2.2.5.1in, not in2.3.2.2.5.2index, count 2.3.2.2.6排序(sort, reverse) 2.3.2.3列表的嵌套2.3.2.3.1 1. 列表嵌套2.3.2.3.2 2. 应用 2.3.2.4列表应用 2.3.2列表
2.3.2.1列表介绍
可以理解为java、c语言中的数组。只是python中可以存放不同的数据类型。 列表就是一个变量存储多个值。
2.3.2.1.1列表的格式
变量A的类型为列表 namesList [‘xiaoWang’,‘xiaoZhang’,‘xiaoHua’] 比C语言的数组强大的地方在于列表中的元素可以是不同类型的 testList [1, ‘a’]
2.3.2.1.2打印列表 namesList [xiaoWang,xiaoZhang,xiaoHua]print(namesList[0])print(namesList[1])print(namesList[2])
结果xiaoWangxiaoZhangxiaoHua2.3.2.2列表的增删改查
2.3.2.2.1列表的遍历
2.3.2.2.1.1使用for循环
为了更有效率的输出列表的每个数据可以使用循环来完成 namesList [xiaoWang,xiaoZhang,xiaoHua]for name in namesList:print(name)
结果:xiaoWangxiaoZhangxiaoHua2.3.2.2.1.2使用while循环
为了更有效率的输出列表的每个数据可以使用循环来完成 namesList [xiaoWang,xiaoZhang,xiaoHua]length len(namesList)i 0while ilength:print(namesList[i])i1
结果:xiaoWangxiaoZhangxiaoHua2.3.2.2.2添加元素(增append, extend, insert)
2.3.2.2.2.1append
通过append可以向列表添加元素在列表后面追加
# Author:csz
# 定义变量A默认有3个元素
names [老王, 老李, 老刘]print(-----添加之前列表A的数据-----)
for tempName in names:print(\t%s%tempName,end)
print()
# 提示、并添加元素
temp input(请输入要添加的学生姓名:)
names.append(temp)print(-----添加之后列表A的数据-----)
for tempName in names:print(\t%s % tempName, end)结果 注意
None在python中为空值
2.3.2.2.2.2extend
通过extend可以将另一个集合中的元素逐一添加到列表中
# Author:csz
# 定义变量A默认有3个元素
names [老王, 老李, 老刘]print(-----添加之前列表A的数据-----)
for tempName in names:print(\t%s%tempName,end)
print()
# 提示、并添加元素
temp input(请输入要添加的学生姓名:)
names.insert(1,temp)
names.insert(0,temp)
print(-----添加之后列表names的数据-----)
for tempName in names:print(\t%s % tempName, end)
print()
temp input(请输入要添加的学生姓名:)
names.insert(0,temp)
print(-----添加之后列表names的数据-----)
for tempName in names:print(\t%s % tempName, end)结果 2.3.2.2.2.3extend
通过extend可以将另一个集合中的元素逐一添加到列表中. 与字符串一样列表的拼接也可以用“”实现。
2.3.2.2.3删除元素(删del, pop, remove)
类比现实生活中如果某位同学调班了那么就应该把这个条走后的学生的姓名删除掉在开发中经常会用到删除这种功能。 列表元素的常用删除方法有 del根据下标进行删除 pop删除最后一个元素 remove根据元素的值进行删除
2.3.2.2.3.1del
movieName [加勒比海盗, 骇客帝国, 第一滴血, 指环王, 霍比特人, 速度与激情]print(------删除之前------)
for tempName in movieName:print(tempName)del movieName[2]print(------删除之后------)
for tempName in movieName:print(tempName)
结果------删除之前------加勒比海盗骇客帝国第一滴血指环王霍比特人速度与激情------删除之后------加勒比海盗骇客帝国指环王霍比特人速度与激情2.3.2.2.3.2pop
movieName [加勒比海盗, 骇客帝国, 第一滴血, 指环王, 霍比特人, 速度与激情]print(------删除之前------)
for tempName in movieName:print(tempName)movieName.pop()print(------删除之后------)
for tempName in movieName:print(tempName)
结果
------删除之前------
加勒比海盗
骇客帝国
第一滴血
指环王
霍比特人
速度与激情
------删除之后------
加勒比海盗
骇客帝国
第一滴血
指环王
霍比特人2.3.2.2.3.3remove
movieName [加勒比海盗, 指环王,骇客帝国, 第一滴血, 指环王, 霍比特人, 速度与激情]print(------删除之前------)
for tempName in movieName:print(tempName)movieName.remove(指环王)print(------删除之后------)
for tempName in movieName:print(tempName)
结果
------删除之前------
加勒比海盗
指环王
骇客帝国
第一滴血
指环王
霍比特人
速度与激情
------删除之后------
加勒比海盗
骇客帝国
第一滴血
指环王
霍比特人
速度与激情
2.3.2.2.4修改元素(“改”)
修改元素的时候要通过下标来确定要修改的是哪个元素然后才能进行修改
2.3.2.2.5查找元素(查in, not in, index, count)
所谓的查找就是看看指定的元素是否存在
2.3.2.2.5.1in, not in
python中查找的常用方法为 in存在,如果存在那么结果为true否则为false not in不存在如果不存在那么结果为true否则false
# 待查找的列表
nameList [xiaoWang, xiaoZhang, xiaoHua]# 获取用户要查找的名字
findName input(请输入要查找的姓名:)# 查找是否存在
if findName in nameList:print(在字典中找到了相同的名字)
else:print(没有找到)结果 2.3.2.2.5.2index, count
index和count与字符串中的用法相同 a [a, b, c, a, b]a.index(a, 1, 3) # 注意是左闭右开区间
Traceback (most recent call last):File stdin, line 1, in module
ValueError: a is not in lista.index(a, 1, 4)
3a.count(b)
2a.count(d)
02.3.2.2.6排序(sort, reverse)
sort方法是将list按特定顺序重新排列默认为由小到大参数reverseTrue可改为倒序由大到小。 reverse方法是将list逆置。 a [1, 4, 2, 3]a
[1, 4, 2, 3]a.reverse()a
[3, 2, 4, 1]a.sort()a
[1, 2, 3, 4]a.sort(reverseTrue)a
[4, 3, 2, 1]2.3.2.3列表的嵌套
2.3.2.3.1 1. 列表嵌套
类似while循环的嵌套列表也是支持嵌套的 一个列表中的元素又是一个列表那么这就是列表的嵌套 schoolNames [[北京大学,清华大学],[南开大学,天津大学,天津师范大学],[山东大学,中国海洋大学]] 2.3.2.3.2 2. 应用
一个学校有3个办公室现在有8位老师等待工位的分配请编写程序完成随机的分配
#encodingutf-8import random# 定义一个列表用来保存3个办公室
offices [[],[],[]]# 定义一个列表用来存储8位老师的名字
names [A,B,C,D,E,F,G,H]i 0
for name in names:index random.randint(0,2) offices[index].append(name)i 1
for tempNames in offices:print(办公室%d的人数为:%d%(i,len(tempNames)))i1for name in tempNames:print(%s%name,end)print(\n)print(-*20)结果 2.3.2.4列表应用
# Author:csz
#打印功能提示区
print(*50)
print(名字关系系统v8.6.center(30))
print(1. 添加一个新名字.center(30))
print(2. 删除一个名字.center(30))
print(3. 修改一个名字.center(30))
print(4. 查询一个名字.center(30))
print(5. 查询所有名字.center(30))
print(6. 退出)
print(*50)names []#编写功能执行区
while True:# 获取用户输入的功能选择num int(input(请输入功能序号))if num1:name input(请输入需要添加的名字:)names.append(name)print(names)elif num2:name input(请输入需要删除的名字:)names.remove(name)elif num3:name input(请输入需要修改的名字:)name_update input(请输入修改后的名字:)names_index names.index(name)names[ names_index] name_updateelif num4:name input(请输入需要查询的名字的名字:)if name in names:print(找到了你要找的人)else:print(查无此人)elif num5:for name in names:print(%s\t%name,end)print()elif num6:breakelse:print(您输入有误请重新输入)
结果
名字关系系统v8.6 1. 添加一个新名字 2. 删除一个名字 3. 修改一个名字 4. 查询一个名字 5. 查询所有名字
6. 退出请输入功能序号1
请输入需要添加的名字:qq
[qq]
请输入功能序号1
请输入需要添加的名字:ww
[qq, ww]
请输入功能序号1
请输入需要添加的名字:ee
[qq, ww, ee]
请输入功能序号3
请输入需要修改的名字:ee
请输入修改后的名字:rr
请输入功能序号5
qq ww rr
请输入功能序号6