'''
9.列表常用操作
1)添加元素("增",append、extend、insert)
a.append使用
nameList = ["xiaoming","xiaohong","xiaohei"]
nameList.append("xiaoxin")
print(nameList)
'''结果:append添加至末尾
['xiaoming', 'xiaohong', 'xiaohei', 'xiaoxin']
'''
b.insert 使用
nameList.insert(1,"xiaoli")
print(nameList)
'''结果:insert添加至索引位置
['xiaoming', 'xiaoli', 'xiaohong', 'xiaohei']
'''
c.extend使用
nameList1 = ["laowang","laoli"]
nameList.extend(nameList1)
print(nameList)
'''结果:将一个列表添加至另一个列表末尾
['xiaoming', 'xiaohong', 'xiaohei', 'laowang', 'laoli']
'''
d.增加元素后,取元素
nameList.append(nameList1)
print(nameList)
print(nameList[len(nameList)-1][1])#取大列表中长度减1的元素,再取子列表中第二个元素
'''结果:
['xiaoming', 'xiaoli', 'xiaohong', 'xiaohei', ['laowang', 'laoli']]
laoli
'''
2)元素修改
#元素修改
nameList = ["xiaoming","xiaohong","xiaohei"]
nameList[1] = "xiaohua"
print(nameList)
'''结果
['xiaoming', 'xiaohua', 'xiaohei']
'''
3)查找元素("查",in、not in、index、count)
a.in、not in使用
#元素查找
nameList = ["xiaoming","xiaohong","xiaohei"]
name = "xioahei"
if name in nameList:
print("没有找到名字为%s的同学"%name)
else:
print("找到了,名字为:%s"%name)
'''结果:in和not in使用方法类似
找到了,名字为:xioahei
'''
b.index、count
nameList = ["xiaoming","xiaoming","xiaoli"]
print(nameList.index("xiaoming"),end=",")#统计该字符串第一次出现在列表中的位置
print(nameList.count("xiaoming"))#统计该字符串在列表中出现的次数
'''结果:
0,2
'''
4)删除元素("删",delete、pop、remove)
#删除元素
nameList = ["aa","bb","cc","dd"]
del nameList[1]#删除指定位置元素
print(nameList)
nameList.pop(-1)#删除指定位置元素
print(nameList)
nameList.remove("aa")#删除指定元素
print(nameList)
'''
['aa', 'cc', 'dd']
['aa', 'cc']
['aa']
'''
10.花名册练习升级版
#花名册练习改进
# 打印提示选择
print("*"*30)
print("欢迎你使用本系统")
print("1:添加新的名字")
print("2:删除指定名字")
print("3:修改名字")
print("4:查询一个名字")
print("5:查询所有人的名字")
print("0:退出系统")
print("*"*30)
#定义一个列表,存储所有的名字
nameList = []
while True:
#获取要操作的数字
choose = int(input("请输入选择编号:"))
# 根据选择来做相应的事情
if choose==1:
#提示输入一个名字
name1 = input("请输入新增用户名:")
#将该用户添加到用户列表
nameList.append(name1)
print(nameList)
elif choose==2:
#输入删除的名字
name2 = input("输入需要删除的名字:")
#将该名字从列表中删除
if name2 in nameList:
nameList.remove(name2)
else:
print("该用户不在花名册中,无法删除")
elif choose==3:
#输入需要修改的名字
name3 = input("输入需要修改的名字:")
rename = input("输入修改后的名字:")
#在列表中修改名字
if name3 in nameList:
index1 = nameList.index(name3)
nameList[index1] = rename
else:
print("该用户不在花名册中,无法修改")
elif choose ==4:
#输入需要查询的名字
name4 = input("输入查询的名字:")
#给出查询结果
if name4 in nameList:
print("恭喜你,%s在花名册中"%name4)
else:
print("很遗憾,花名册中没有%s"%name4)
elif choose ==5:
#c查询所有人
for name in nameList:
print(name,end=",")
print()
elif choose==0:
# 退出系统
break
else:
print("你的输入不正确,请检查后重新输入!")
'''结果:
******************************
请输入选择编号:1
请输入新增用户名:谢霆锋
['谢霆锋']
请输入选择编号:1
请输入新增用户名:刘青云
['谢霆锋', '刘青云']
请输入选择编号:1
请输入新增用户名:杨幂
['谢霆锋', '刘青云', '杨幂']
请输入选择编号:2
输入需要删除的名字:杨幂
请输入选择编号:3
输入需要修改的名字:刘青云
输入修改后的名字:刘楠
请输入选择编号:5
谢霆锋,刘楠,
请输入选择编号:4
输入查询的名字:谢霆锋
恭喜你,谢霆锋在花名册中
请输入选择编号:
'''
11.列表操作:排序
#列表排序
num = [10,9,5,13,26,45,32,17]
num.sort()#升序
print(num)
num.sort(reverse=True)#降序
print(num)
num.reverse()#将列表逆序
print(num)
'''结果:
[5, 9, 10, 13, 17, 26, 32, 45]
[45, 32, 26, 17, 13, 10, 9, 5]
[5, 9, 10, 13, 17, 26, 32, 45]
'''
12.列表嵌套练习
要求:一个学校,有3个办公室,现在有8为老师等待工位的分配,编写程序随机分配
#分配办公室
import random
#列表存储办公室
office = [[],[],[]]
#列表存储老师名字
nameList = ["A","B","C","D","E","F","G","H"]
#随机把8名老师添加到第一个列表中
for name in nameList:
num = random.randint(0,2)
office[num].append(name)
#按格式要求输出每个办公室的人
i = 1
for name in office:
print("第%d个办公室的人为:"%i)
for name1 in name:
print(name1,end=" ")
print()
i+=1
'''结果:
第1个办公室的人为:
F G
第2个办公室的人为:
A B C E H
第3个办公室的人为:
D
'''
13.元组
Python中元组与列表类似,不同在于元组元素不能修改,元组使用小括号,列表为大括号;
#元组
name = ("张三",23)
print(type(name))
print(name)
'''结果:
('张三', 23)
'''
index、count使用与列表类似;
14.字典
1)存储
键值对存储:
不允许有两个相同的key值
{key值:values值,key值:values值.....}
#字典
nameList = {"name":"张三","sex":"男","年龄":23}
print(type(nameList))
print(nameList["name"])
'''结果:
张三
'''
2)修改、添加、删除元素
#字典
nameList = {"name":"张三","sex":"男","年龄":23}
print(nameList["name"])
nameList["name"] = "张强"#按键值修改元素
print(nameList["name"])
nameList["weight"] = 60#添加不存在的键值对
print(nameList["weight"])
del nameList["name"]
print(nameList)
nameList.clear()
print(nameList)
'''结果:
张三
张强
60
{'sex': '男', '年龄': 23, 'weight': 60}
{}
'''
3)其他基本操作
nameList = {"name":"张三","sex":"男","年龄":23}
print(len(nameList))#长度
print(nameList.keys())#键
print(nameList.values())#值
print(nameList.items())#返回一个含有所有键值对元组的列表
'''结果
3
dict_keys(['name', 'sex', '年龄'])
dict_values(['张三', '男', 23])
dict_items([('name', '张三'), ('sex', '男'), ('年龄', 23)])
'''
4)常用遍历
#遍历
nameList = {"name":"张三","sex":"男","年龄":23}
for key in nameList.keys():
print(key,end=" ")
print("*"*30)
for values in nameList.values():
print(values,end=" ")
print("*"*30)
for temp in nameList.items():
print("%s:%s"%(temp[0],temp[1]))
print("*"*30)
for key,values in nameList.items():
print(key,end=" ")
print(values,end=" ")
'''
name sex 年龄 ******************************
张三 男 23 ******************************
name:张三
sex:男
年龄:23
******************************
name 张三 sex 男 年龄 23
'''
5)带下标索引的遍历
a.方法1
char = ["a","b","c","d"]
i = 0
for temp in char:
print("%d %s"%(i,temp))
i+=1
'''
0 a
1 b
2 c
3 d
'''
b.方法2
#带下标索引的遍历
char = ["a","b","c","d"]
for num,temp in enumerate(char):
print(num,end=" ")
print(temp)
'''
0 a
1 b
2 c
3 d
'''
15.运算符总结:
+:合并,应用于字符串、列表、元组
*:复制,应用于字符串、列表、元组
in:元素是否存在,应用于字符串、列表、元组、字典
not in:元素是否不存在,应用于字符串、列表、元组、字典
16.Python简单内置函数
cmp(item1,item2):比较两个值
len(item):计算容器中元素个数
max(item):返回容器中元素最大值
min(item):返回容器中元素最小值
del(item):删除变量
17.学生管理系统升级(字典)
#学生管理系统 # 打印提示选择 print("*"*30) print("欢迎你使用本系统") print("1:添加新的用户") print("2:删除指定用户") print("3:修改用户信息") print("4:查询一个用户") print("5:查询所有用户的信息") print("0:退出系统") print("*"*30) #定义一个列表,存储所有的名字 nameList = [] while True: #获取要操作的数字 choose = int(input("请输入选择编号:")) # 根据选择来做相应的事情 if choose==1: #提示输入一个名字 name1 = input("请输入新增用户名:") sex1 = input("请输入新增用户性别:") phone1 = input("请输入新增用户联系方式:") #字典存储用户信息;名字、性别、手机号 userInfo = {} #将用户的基本信息添加到字典中 userInfo["name"] = name1 userInfo["sex"] = sex1 userInfo["phone"] = phone1 # 将该用户添加到用户列表 nameList.append(userInfo) print(nameList) elif choose==2: #输入删除的名字 name2 = input("输入需要删除的名字:") flag = 0 #将该名字从列表中删除 for temp in nameList: if temp["name"]==name2: nameList.remove(temp) flag = 1 break if flag ==0: print("该用户不在了名单中,无法删除") else: print("删除成功!") print(nameList) elif choose==3: #输入需要修改的名字 name3 = input("输入需要修改的名字:") rename = input("输入修改后的名字:") #在列表中修改名字 for temp in nameList: if temp["name"]==name3: temp["name"] = rename else: print("用户不存在,无法修改") elif choose ==4: #输入需要查询的名字 name4 = input("输入查询的名字:") #给出查询结果 for temp in nameList: if temp["name"]==name4: print("恭喜你,%s在花名册中"%name4) else: print("很遗憾,花名册中没有%s" % name4) elif choose ==5: #c查询所有人 for name in nameList: print("姓名为:%s--性别为:%s--联系方式为:%s"%(name["name"],name["sex"],name["phone"])) print() elif choose==0: # 退出系统 break else: print("你的输入不正确,请检查后重新输入!") '''结果: 欢迎你使用本系统 1:添加新的用户 2:删除指定用户 3:修改用户信息 4:查询一个用户 5:查询所有用户的信息 0:退出系统 ****************************** 请输入选择编号:1 请输入新增用户名:谢霆锋 请输入新增用户性别:男 请输入新增用户联系方式:10086 [{'name': '谢霆锋', 'sex': '男', 'phone': '10086'}] 请输入选择编号:1 请输入新增用户名:张靓颖 请输入新增用户性别:女 请输入新增用户联系方式:1008611 [{'name': '谢霆锋', 'sex': '男', 'phone': '10086'}, {'name': '张靓颖', 'sex': '女', 'phone': '1008611'}] 请输入选择编号:2 输入需要删除的名字:张靓颖 删除成功! [{'name': '谢霆锋', 'sex': '男', 'phone': '10086'}] 请输入选择编号:3 输入需要修改的名字:谢霆锋 输入修改后的名字:锋行天下 请输入选择编号:4 输入查询的名字:锋行天下 恭喜你,锋行天下在花名册中 请输入选择编号:5 姓名为:锋行天下--性别为:男--联系方式为:10086 '''