字典 dict
Posted dealdwong2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字典 dict相关的知识,希望对你有一定的参考价值。
# dic = {}
#
# dic["歌诗达号"] = "豪华全景阳台房"
# dic["大西洋号"] = "标准海景房"
# dic["辉煌号"] = "高级内仓套房"
# dic["歌诗达号"] = "标准内仓双人间"
# dic["铁达号"] = "海景双人间"
# dic["泰坦号尼"] = "阳台双人间"
# dic["宫崎骏号"] = "阳台双人间"
#
# dic.setdefault("宫崎骏号","海景套房双人间")
# dic.setdefault("宫崎骏号","海景阳台套房")
# print(dic)
# dic = {‘歌诗达号‘: ‘标准内仓双人间‘, ‘大西洋号‘: ‘标准海景房‘, ‘辉煌号‘: ‘高级内仓套房‘, ‘铁达尼号‘: ‘海景双人间‘, ‘泰坦号‘: ‘阳台双人间‘, ‘宫崎骏号‘: ‘海景套房双人间‘}
# dic.pop("宫崎骏号")
# dic.pop("辉煌号")
# dic.popitem()
# dic.popitem()
# ---------------------------------------------------------------------------------#
# day5作业及默写
# ---------------------------------------------------------------------------------#
# 1,有如下变量(tu是个元祖),请实现要求的功能
# tu = ("alex", [11, 22, {"k1": ‘v1‘, "k2": ["age", "name"], "k3": (11, 22, 33)}, 44])
# a.讲述元祖的特性
# 答:元组是不可变类型,用()表示,
# b.请问tu变量中的第一个元素 "alex" 是否可被修改?
# 答: 不可以
# c.请问tu变量中的"k2" 对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素"Seven"
# 答: list ; 可以,
# tu[1][2]["k2"] = ["age", "name", "Seven"]
# print(tu)
# d.请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素"Seven"
# 答: list ;不可以
# --------------*******--------------
# 2, 字典dic, dic = {‘k1‘: "v1", "k2": "v2", "k3": [11, 22, 33]}
# dic = {‘k1‘: "v1", "k2": "v2", "k3": [11, 22, 33]}
# a.请循环输出所有的key
# for k in dic:
# print(k)
# b.请循环输出所有的value
# for k in dic:
# print(dic[k])
# c.请循环输出所有的key和value
# for k,v in dic.items():
# print(k,v)
# d.请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
# dic["k4"] = "v4"
# print(dic)
# e.请在修改字典中"k1" 对应的值为"alex",输出修改后的字典
# dic["k1"] = "alex"
# print(dic)
# f.请在k3对应的值中追加一个元素44,输出修改后的字典
# dic["k3"].append(44)
# print(dic)
# dic["k3"] = [11, 22, 33, 55]
# print(dic)
# g.请在k3对应的值的第1个位置插入个元素18,输出修改后的字典
# dic["k3"]=[18,11, 22, 33]
# print(dic)
# dic["k3"].insert(0,18)
# print(dic)
# --------------*******--------------
# 3,如下所示:
# ccav_catalog = {
# "欧美": {
# "www.cctv.com": ["很多免费的,世界最大的", "质量一般"],
# "www.sougou.com": ["很多免费的,也很大", "质量比yuyoobe高点"],
# "www.sina.com": ["多是自拍,高质量图片很多", "资源不多,更新慢"],
# "szedu.com": ["质量很高,真的很高", "全部收费,屌丝请绕过"]
# },
# "日韩": {
# "tomoto-suanshuang": ["质量怎样不清楚,个人已经不喜欢日韩范了", "verygood"]
# },
# "大陆": {
# "10086": ["全部免费,真好,好人一生平安", "服务器在国外,慢"]
# }
# }
# a, 给此["很多免费的,世界最大的", "质量一般"]列表第二个位置插入一个元素:‘量很大‘。
# ccav_catalog["欧美"]["www.cctv.com"].insert(1,"量很大")
# print(ccav_catalog)
# b, 将此["质量很高,真的很高", "全部收费,屌丝请绕过"]列表的"全部收费,屌丝请绕过"删除。
# /*<--解法[1]-->*/
# ccav_catalog =ccav_catalog["欧美"]["szedu.com"].pop("全部收费,屌丝请绕过") /*<-- 未完成 -->*/
# print(ccav_catalog)#
# /*<--解法[2]-->*/
# del ccav_catalog["欧美"]["szedu.com"][1]
# print(ccav_catalog)
# c, 在此["质量很高,真的很高", "全部收费,屌丝请绕过"]列表中添加"金老板最喜欢这个"。
# ccav_catalog["欧美"]["szedu.com"].append("金老板最喜欢这个")
# print(ccav_catalog)
# d, 将此["质量怎样不清楚,个人已经不喜欢日韩范了", "verygood"]列表的"verygood"全部变成大写。
# ccav_catalog["日韩"]["tomoto-suanshuang"][1] = ccav_catalog["日韩"]["tomoto-suanshuang"][1].upper()
# print(ccav_catalog)
# e, 给‘大陆‘对应的字典添加一个键值对‘1048‘: [‘一天就封了‘]
# ccav_catalog["大陆"][‘1048‘] = ([‘一天就封了‘])
# print(ccav_catalog)
# f, 删除此"letmedothistoyou.com": ["多是自拍,高质量图片很多", "资源不多,更新慢"] 键值对。
# del ccav_catalog["欧美"]["www.sina.com"]
# print(ccav_catalog)
# g, 给此["全部免费,真好,好人一生平安", "服务器在国外,慢"]列表的第一个元素,加上一句话:‘可以爬下来‘
# ccav_catalog["大陆"]["10086"].insert(0,‘可以爬下来‘)
# print(ccav_catalog)
# --------------*******--------------
# 4、有字符串
# "k:1|k1:2|k2:3|k3:4" 处理成字典 {‘k‘: 1, ‘k1‘: 2....}(升级题)
# dic = {}
# s = "k:1|k1:2|k2:3|k3:4"
# s1 = s.split("|")
# # print(s1)
# s2 = []
# for i in s1:
# s1 =i.split(":")
# s2.append(s1)
# # print(s2)
#
# dic[s2[0][0]] = int(s2[0][1])
# dic[s2[1][0]] = int(s2[1][1])
# dic[s2[2][0]] = int(s2[2][1])
# dic[s2[3][0]] = int(s2[3][1])
# print(dic)
# 5、元素分类
# 有如下值li = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90],将所有大于66的值保存至字典的第一个key中,
# 将小于66的值保存至第二个key的值中。
# 即: {‘k1‘: 大于66的所有值列表, ‘k2‘: 小于66的所有值列表}
# li = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
# dic = {"k1":[],"k2":[]}
# for i in li:
# if i > 66:
# dic["k1"].append(i)
# else:
# dic["k2"].append(i)
# print(dic)
#
# 6、输出商品列表,用户输入序号,显示用户选中的商品(升级题)
#
# 商品列表:
goods = [{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}, ]
#
# 要求:
# 1:页面显示序号 + 商品名称 + 商品价格,如:
# 1 电脑 1999
# 2 鼠标 10
# … …
# 2:用户输入选择的商品序号,然后打印商品名称及商品价格
# 3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
# 4:用户输入Q或者q,退出程序。
for i in range(len(goods)):
print(i+1," ",end="")
for k in goods[i].values():
print(k," ",end="")
print("")
#
while 1:
s = input("输入序号 或 输入Q退出:")
if s.upper() == "Q":
break
elif int(s) > len(goods) :
print("输入编号有误,请重新输入。")
elif s.isdigit() and int(s) >=1 and len(goods):
s = int(s) - 1
print(goods[s]["name"], goods[s]["price"])
else:
print("输入编号有误,请重新输入。")
#--------------*******--------------
# for product in goods:
# print(goods.index(product)+1, product["name"], str(product["price"]))
# flag =True
# while flag:
# num = input("请输入你要买的东西编号:").strip()
# if num.upper() =="Q":
# break
# # 判断用户输入的合不合法
# if num.isdigit() and int(num) >=1 and len(goods):
# num = int(num) - 1 # 恢复索引
# print(goods[num]["name"], goods[num]["price"])
# else:
# print("警告一下,不许胡乱输入")
#---------------------------------------------------------------------------------#
# 明日默写内容。
#
# 1)字典的增删改查。‘‘L;IU‘4
# 2)过滤敏感字符代码的默写。
#
# li = ["苍老师", "东京热", "武藤兰", "波多野结衣"]
# l1 = []
# comment = input(‘请输入评论>>>‘)
# for i in li:
# if
# i in comment:
# comment = comment.replace(i, ‘*‘ * len(i))
# l1.append(comment)
# print(l1)
以上是关于字典 dict的主要内容,如果未能解决你的问题,请参考以下文章