文章目录
- 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.2extend
- 2.3.2.2.2.3extend
- 2.3.2.2.3删除元素("删"del, pop, remove)
- 2.3.2.2.3.1del
- 2.3.2.2.3.2pop
- 2.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 in
- 2.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]) 结果: xiaoWang xiaoZhang xiaoHua
2.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) 结果: xiaoWang xiaoZhang xiaoHua
2.3.2.2.1.2使用while循环
为了更有效率的输出列表的每个数据,可以使用循环来完成
namesList = ['xiaoWang','xiaoZhang','xiaoHua'] length = len(namesList) i = 0 while i>> a = ['a', 'b', 'c', 'a', 'b'] >>> a.index('a', 1, 3) # 注意是左闭右开区间 Traceback (most recent call last): File "", line 1, in ValueError: 'a' is not in list >>> a.index('a', 1, 4) 3 >>> a.count('b') 2 >>> a.count('d') 0
2.3.2.2.6排序(sort, reverse)
sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
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(reverse=True) >>> 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位老师等待工位的分配,请编写程序,完成随机的分配
#encoding=utf-8 import 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))) i+=1 for 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 num==1: name = input("请输入需要添加的名字:") names.append(name) print(names) elif num==2: name = input("请输入需要删除的名字:") names.remove(name) elif num==3: name = input("请输入需要修改的名字:") name_update = input("请输入修改后的名字:") names_index = names.index(name) names[ names_index] = name_update elif num==4: name = input("请输入需要查询的名字的名字:") if name in names: print("找到了你要找的人!") else: print("查无此人!") elif num==5: for name in names: print("%s\t"%name,end="") print("") elif num==6: break else: 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