列表
""""""
"""
列表——一种将多个数据组合到一起的容器
标识符:[]
关键字:list ——给列表赋值变量名的时候,不要用关键字
"""
list_1 = []
list_2 = [1,2,3,4,5]
print(type(list_1))
print(type(list_2))
print(len(list_2))
list_2.reverse()
print(list_2)
print(list_2.reverse())
""""""
"""
列表:有序,可变
有序:列表每个元素都有索引,从0开始
列表取值:变量名[索引值]
可变:修改,添加, 删除
"""
list_1 = [100,2.14,True,"Huace",[1,2,3,4]]
print(list_1[4][1])
"""
向列表后面增加元素—— append() 增加元素
增加在列表的后面,一次添加一个
推荐使用
"""
lst1=[1,2]
lst1.append("python")
print(lst1)
"""
insert() 添加元素,一次添加一个 通过索引来添加
需要给两个参数 第一个是索引 第二是插入的值
insert(索引数字,插入的值)
"""
lst1.insert(1,"小美")
print(lst1)
"""
列表 进行合并, 老列表元素并入新列表中,推荐写法
extend() 列表名
"""
lst1.extend('小明')
print(lst1)
lst1.extend([100])
print(lst1)
"""
删除元素
remove(值) 不推荐使用
"""
lst1.remove(100)
print(lst1)
"""
pop删除
带索引删除pop索引——不带索引 删除最后一个
"""
lst1.pop(0)
print(lst1)
lst1.pop()
print(lst1)
"""
修改 变量名[索引]=新值
"""
lst1[0]="廖廖"
print(lst1)
list_1[4][2]="216"
print(list_1)
""""""
"""
lst[index] index是下标——正数,负数
当我们写负数的时候 倒过来 -1 代表最后一位 倒过来数
切片:取某一段数字
"""
lst =[0,1,2,3,4]
print(lst[-1])
lst1 = []
for i in range(1,len(lst)-1):
lst1.append(lst[i])
print(lst1)
"""
切片操作:变量名[start:end:step]——range 取值范围一样
左闭右开
"""
lst3 = [100,3.14,True,"Haaa",[1,3,4]]
print(lst3[0:3])
print(lst3[:3])
print(lst3[0::1])
lst4 =lst3[0:]
lst4.append("廖廖")
print("lst4的值:{}".format(lst4))
print("lst3的值:{}".format(lst3))
"""
找元素在列表中的索引
index(元素)
"""
print(lst3.index("Haaa"))
try:
print(lst3.index(1111))
except Exception:
print("没有这个元素,你自己再看看?")
"""
统计元素的个数:
count(元素 ——这个元素在列表中多少个????)
"""
print(lst3.count(3.14))
字典
""""""
"""
字典:具有键值对映关系的一组数据
K-V == 通过key:获取到对应的value 数字,字符串,列表,字典
关键字:dict
无序 没有索引
字典元素是用key:value 形态存储,key不能重复,一旦添加重复的key字典会认为你在修改value,从而
永远不会生成一个新的key:value 出现
key:不能重复也不能修改,一个字典内是唯一的,常用str
value:可以修改,可以是任何一个数据类型
"""
map = {
"name":"廖廖",
"sno":"001",
"class":"216",
"lst":[1,2,3,4,5]
}
print(map["lst"])
print(type(map))
""""""
"""
字典的增加和修改比较简单:
新增:变量名[”字典里不存在的key“]= value ——向字典里面添加数据
修改:变量名[”字典里存在的key“]= value ——修改字典里面原有的数据value
"""
map = {
"name":"廖廖",
"sno":"001",
"class":"216",
"lst":[1,2,3,4,5]
}
map["teacher"]="小明"
map["teacher"]="长丰"
print(map["lst"][2])
print(map["class"])
"""
删除:
pop(key) 通过key删除数据, key 不能为空如:map.pop() 推荐使用
popitem() 随机删除 以官方为准 不推荐
clear() 清空
"""
map.pop("name")
print(map)
map.popitem()
print(map)
map.clear()
print(map)
""""""
"""
烤鸭店需求升级:
1、录入商品的功能
2、查询功能——搜索:输入烤鸭,烤鸭详细信息,价格 ,产地,日期 商品名
3、退出
具体编码前,先想清楚,我们要做什么事情
【代码应该怎么写,用到哪些知识】
让老板去输入,自己要干什么
当老板选择查询,进入查询逻辑
当老板选择了退出,直接退出
"""
print("烤鸭店利润计算器卡开始工作")
projects=[]
while True:
oper_type=input("1-录入商品\n2-查询商品\n3-退出\n请做出你的选择")
if oper_type=="1":
print("录入逻辑开始")
load_name = input("请输入你要录入的商品名:")
projects.append(load_name)
price =input("请输入你的成本价:")
projects.append(price)
s_value=input("请输入你的产地:")
projects.append(s_value)
date_time = input("请输入你的生产日期:")
projects.append(date_time)
elif oper_type=="2":
print("查询逻辑")
print(projects)
elif oper_type =="3":
print("------系统退出----")
break
else:
print("输入错误,请重试")
""""""
"""
烤鸭店需求升级:
1、录入商品的功能
2、查询功能——搜索:输入烤鸭,烤鸭详细信息,价格 ,产地,日期 商品名
3、退出
具体编码前,先想清楚,我们要做什么事情
【代码应该怎么写,用到哪些知识】
让老板去输入,自己要干什么
当老板选择查询,进入查询逻辑
当老板选择了退出,直接退出
"""
print("烤鸭店利润计算器卡开始工作")
projecties = {}
while True:
oper_type = input("1-录入商品\n2-查询商品\n3-退出\n请做出你的选择")
if oper_type == "1":
print("------录入逻辑开始------")
projects=[]
load_name = input("请输入你要录入的商品名:")
projects.append(load_name)
price = input("请输入你的成本价:")
projects.append(price)
s_value = input("请输入你的产地:")
projects.append(s_value)
date_time = input("请输入你的生产日期:")
projects.append(date_time)
projecties[load_name]=projects
elif oper_type == "2":
print(projecties)
po_name = input("请输入你要查询的商品名称")
print(projecties[po_name])
elif oper_type == "3":
print("------系统退出----")
break
else:
print("输入错误,请重试")
元组
""""""
"""
元组
和列表几乎完全一样
1、有序的——索引去查询——正数或者负数
2、标识符 () 元素 用逗号分割开来
3、关键字 tuple
和列表的不同点,它不能修改
"""
tp = ()
print(type(tp))
tp=(1,2,3,4)
print(tp[0])
tp1 = ("hello world",)
print(type(tp1))
tp3=(100,3.14,True,"ddd",[1,2,3])
print(len(tp3))
print(tp1+ tp)
print(tp1 * 2)
字符串
""""""
"""
一个字符串当一个列表用
获取字符串的某个字符 变量名[索引]
切片:变量名[start:end:step]
"""
str = "hello python"
res = str[1]
print(res)
print(str[0:5:2])
"""
strip() 去除两端的空格
lstrip() 去除前端的空格
rstrip() 去除结尾空格
"""
str1 =" hello liaoliao "
print(str1)
print(str1.strip())
print(str1.lstrip())
print(str1.rsplit())
""""
replace()替换
old 原因的字符
new 替换后的字符
"""
print(str1.replace("h","k"))
print(str1.replace(" ",""))
"""
切割:按某个规则去切割
split()
"""
str2 = "a.? c. ,v"
lst1=str2.split(".")
print(lst1)
小项目-烤鸭店优化4
""""""
"""
烤鸭店需求升级:
1、录入商品的功能
2、查询功能——搜索:输入烤鸭,烤鸭详细信息,价格 ,产地,日期 商品名
3、退出
具体编码前,先想清楚,我们要做什么事情
【代码应该怎么写,用到哪些知识】
让老板去输入,自己要干什么
当老板选择查询,进入查询逻辑
当老板选择了退出,直接退出
"""
print("烤鸭店利润计算器卡开始工作")
projecties = {}
head = ("商品名","成本价","产地","生产日期")
while True:
oper_type = input("1-录入商品\n2-查询商品\n3-退出\n请做出你的选择")
if oper_type == "1":
print("------录入逻辑开始------")
projects=[]
for attr in head:
value = input("请输入你要录入的{}:".format(attr))
projects.append(value)
projecties[projects[0]]=projects
elif oper_type == "2":
print(projecties)
po_name = input("请输入你要查询的商品名称")
print(projecties[po_name.strip()])
elif oper_type == "3":
print("------系统退出----")
break
else:
print("输入错误,请重试")
集合
""""""
"""
集合——不同元素组成的一个数据结构
有序:有下标 无序:无下标
特点:1、无序
2、允许不同的值放在一起
3、操作方法 ——可以在集合中进行关系运算 包含,不包含关系
4、集合表示:{}元素不会重复
5、集合里面不能放列表和字典(可变)
"""
jh = {1,2,3,4,5,6,6,6,6,6}
print(jh)
set = {"小明","嘘辉","碧霞","abc","111",}
print(set)
""""""
"""
集合 用于多组数据的逻辑运算
交集,并集,差集,交叉补集
"""
"""交集:两个集合中相同的数据"""
stu_set = {"廖廖","嘘辉"}
stu_set1 = {"廖廖","碧霞"}
print(stu_set.intersection(stu_set1))
""" 并级方法——union 把两个集合进行合并,重复的元素也合并"""
stu_set = {"廖廖","嘘辉"}
stu_set1 = {"廖廖","碧霞"}
print(stu_set.union(stu_set1))
""" 差集——difference() 两方比较只要我有的获取出来"""
set1 = {"廖廖","白","富","美"}
set2 = {"倩倩","傻","白","甜"}
print(set1.difference(set2))
print(set2.difference(set1))
"""
交叉补集——symmetric_difference
1、共有的部分全部移除,只留下双方独有的部分
"""
set1 = {"廖廖","白","富","美"}
set2 = {"倩倩","傻","白","甜"}
print(set1.symmetric_difference(set2))
""""""
"""
集合的元素操作——增删查改
集合—— 无序 不支持索引
查询集合里面的元素需要转换为列表
"""
set1 = {"小明","老师","是","大帅哥"}
"""查询集合元素的时候,需要对集合进行转换"""
lst = list (set1)
print(lst[0])
""" 向集合添加元素——add()"""
set1.add("才怪")
print(set1)
"""
删除元素pop() 随机删除
删除元素remove() 指定删除 的方法
"""
set1.remove("老师")
print(set1)
v=set1.pop()
print(v)
v=set1.pop()
print(v)
v=set1.pop()
print(v)
set2 = {"廖廖","老师","是","大美女"}
set2.discard("廖廖")
print(set2)
set2.discard("嘻嘻嘻")
print(set2)