一、列表
'''
列表:想当于一个容器,里面可以存放多个数据
一次性可以处理多个数据
变量:只能存放一个数据,一次只能处理一个数据
列表单词:list 标志是[]
创建列表
'''
# 创建了一个名字叫做age_list的列表,里边存储了很多的数据
# age_list=[10,11,12,13,14,70,20,30,21]
# # 查看列表中有多少个数据 获取列表的长度
# print(len(age_list))
# # 获取列表中的元素(数据)
# i=0
# sum=0
# while i<=len(age_list)-1:
# sum+=age_list[i]
# i+=1
# print(sum)
# print(max(age_list))
'''
在列表中存值(添加数据)
'''
list2=[1,2,3]
# append()在列表的末尾一次添加一条数据,如果
# 加的是列表当做一个数据来处理
# list2.append(10)
# list2.append(20)
# list2.append([30,40,50])
# extend()在末尾一次添加多个数据,会将列表中的数据
# 拆开挨个存放到列表中
# extend()参数只能是列表
# list2.extend([30,40,50])
# list2.extend([60])
# 在指定位置插入一条数据,不会覆盖原数据,原数据一次往后推移
list2.insert(1,200)
print(list2)
# list3=[]
# sum=0
# while True:
# age = int(input("请输入年龄"))
# if age<0:
# print('输入的年龄不合法,程序结束')
# break
# else:
# # 存储到列表中
# list3.append(age)
# sum+=age
# print("最大值:",max(list3))
# print(sum)
sum=0
max=0
while True:
age = int(input("请输入年龄"))
if age<0:
print('输入的年龄不合法,程序结束')
break
else:
# 存储到列表中
sum+=age
if max<age:
max=age
print(sum)
print(max)
二、列表操作
'''
注意:列表中可以存储不同类型的数据
列表的运算
+:拼接
*:重复
'''
list1=[1,2,3]
list2=[4,5,6]
list3=list1+list2
print(list1)
print(list2)
print(list3)
print(list1*3)
'''
列表的判断
in:判断某一个元素在不在列表中 在True 不在False
not in:判断元素不在列表中 在False 不在True
'''
list4=[1,2,"a","b"]
print(10 in list4)
print(10 not in list4)
'''
删除
'''
list5=[1,2,3,"a","b"]
# # 删除指定的元素
# list5.remove("a")
# # 报错 没有这个数据,无法删除
# list5.remove("10")
# 不写参数默认删除最后一个
# list5.pop()
# list5.pop()
# 根据下标删除元素
# list5.pop(1)
# 清空列表
list5.clear()
print(list5)
'''
查找
len():查长度
index():根据元素查下标,找不到就报错
count():查元素出现的个数(次数)
'''
list6=[89,100,21,0,21,10]
print(list6.index(21))
# print(list6.index("21"))
print(list6.index(21,3,5))
print(list6.count(210))
'''
截取(切片)
'''
list7=[1,2,3,4,5]
# 从0的位置截取到2,不包含最大值[1,2]
print(list7[:2])
# 从2截取到末尾[3,4,5]
print(list7[2:])
# 从2截取到4[3,4]
print(list7[2:4])
# [1,3,5]
print(list7[0::2])
print(list7[4::-1])
'''
排序
'''
list8=[20,10,9,7,30]
# 升序,从小到大
list8.sort()
print(list8)
# 倒序,要降序必须先sort
list8.reverse()
print(list8)
'''
复制
=复制的是地址值,一个改变会影响另一个(浅拷贝)
copy复制的数据,不会影响别人(深拷贝)
'''
list9=[1,2,3]
list10=list9 #[1,2,3]
list10[0]=100 #[100,2,3]
list11=list9.copy()
list11[0]=200
print(list9)
print(list10)
print(list11)
a=10
b=a
b=20
print(a)
print(b)
print(id(list9))
print(id(list10))
'''
在程序中运行内存一般分为2块内存
变量存栈、值存堆
a=10
str1="abcchgvgh"
list1=[1,2,3,4]
栈:整数、小数、布尔
堆:
'''
'''
增删改查截拼复转排
'''
list12=[1,2,3]
list12[0]=100
'''
列表的特点:
列表单词是list标志[]
列表是可变的
列表中可以存储不同类型的数据
列表是有序的
列表有下标
'''
三、遍历列表
'''
遍历:一个一个获取
for循环的变量指的就是列表中的数据,不是下标
while循环的变量可以当做下标来处理,不是元素
'''
list1=["a","b","c","d"]
for i in list1:
print(i)
print(i)
# i=0
# while i<len(list1):
# print(list1[i])
# i+=1
#
# for i in list1:
# print(i)
#
# for i in range(30,40):
# print(i)
# 迭代器
四、元祖
'''
1.元组的单词是tuple 标志是()
2.元组一旦创建不能更改
3.元组的操作:截取 查找(查长度、查下标、查次数)
拼接(+) 复制(=) 转
4.因为不能更改所以比较安全
5.元组有下标
6.元组是有序的
'''
# 创建一个空元组
tuple1=()
print(type(tuple1))
# 创建一个有多个数据的元组
tuple2=(1,2,3,4)
print(tuple2)
# 创建有一个元素的元组
tuple3=(1,)
print(tuple3)
print(tuple2[1:])
tuple4=(1,2,"a","b")
print(tuple4.index(2))
print(tuple4.count("a"))
tuple5=("c","d")
tuple6=tuple4+tuple5
print(tuple6)
tuple7=tuple5
print(tuple7)
tuple8=("a","b","c")
list1=list(tuple8)
list1[0]="aa"
print(list1)
print(tuple8)
tuple9=tuple(list1)
print(tuple9)
五、字典
'''
字典:是一个键值对形式的数据结构
字典是没有下标的
字典是无序的
字典的键是唯一的
字典的单词dict 标志{}
'''
# 创建字典
dic={"张三":100,
"刘效洋":10,
"李四":0,
"asd":1,
"abc":2,
"刘效洋1": 10}
print(dic["张三"])
print(dic["刘效洋"])
print(dic)
# 在字典中添加值
dic["王五"]=90
dic.update({"aaa":30})
# 根据键去删除
dic.pop("刘效洋1")
# 字典是无序的,到底谁是最后一个不知道,会报错
# dic.pop()
print(dic)
print("----------------")
# 报错
# print(dic["张三1"])
# None空值 不报错
print(dic.get("张三1"))
'''
遍历键
'''
for i in dic:
print(i)
print("-----根据键得到值------")
for i in dic:
# print(dic[i])
print(dic.get(i))
print("------遍历值-----")
for i in dic.keys():
print(i)
print("------遍历键和值-----")
for i,j in dic.items():
print(i,j)
六、字典经典案例(简单登录注册页面)
dic={} while True: print('请输入你要进行的操作:1登录 2注册 3退出') key = input() if key == '1': name = input('请输入名字:') ps = input('请输入密码:') if name in dic.keys(): mima=dic.get(name) if mima==ps: print('登录成功') else: print('密码错误,登录失败') else: print('用户名不存在') elif key == '2': name=input('请输入名字:') ps=input('请输入密码:') if name not in dic.keys(): dic[name] = ps print('注册成功') else: print('用户名已注册过') else: break