# --------------------------我愿作一叶小舟,驶向远方.
----------------------------------------------------------------------------------
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的更多相关文章

  1. python中几个常见的黑盒子之“字典dict” 与 “集合set”

    这里说到"字典dict" 和 "集合set"类型,首先,先了解一下,对于python来说,标准散列机制是有hash函数提供的,对于调用一个__hash__方法: ...

  2. Python中的元组(tuple)、列表(list)、字典(dict)

    -------------------------------更新中-------------------------------------- 元组(tuple): 元组常用小括号表示,即:(),元 ...

  3. python中字典dict的操作

    字典可存储任意类型的对象,由键和值(key - value)组成.字典也叫关联数组或哈希表. dict = {' , 'C' : [1 , 2 , 3] } dict['A'] = 007 # 修改字 ...

  4. python中的字典(dict),列表(list),元组(tuple)

    一,List:列表 python内置的一种数据类型是列表:list.list是一种有序的数据集合,可以随意的添加和删除其中的数据.比如列出班里所有的同学的名字,列出所有工厂员工的工号等都是可以用到列表 ...

  5. Python - 字典(dict) 详解 及 代码

    字典(dict) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17291329 字典(dict)是表示映射的数据 ...

  6. Redis的字典(dict)rehash过程源代码解析

    Redis的内存存储结构是个大的字典存储,也就是我们通常说的哈希表.Redis小到能够存储几万记录的CACHE,大到能够存储几千万甚至上亿的记录(看内存而定),这充分说明Redis作为缓冲的强大.Re ...

  7. python基础之字典dict和集合set

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...

  8. 自学Python2.4-基本数据类型-字典dict(objct)

    Python dict方法总结 一.字典介绍 1.字典概述 ①字典是python中唯一内建的映射类型.又称关联数组或散列②映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关 ...

  9. Python字典(dict)使用技巧

    字典dict是Python中使用频率非常高的数据结构,关于它的使用,也有许多的小技巧,掌握这些小技巧会让你高效地的使用dict,也会让你的代码更简洁. 1.默认值 假设name_for_userid存 ...

  10. python基础2--数据结构(列表List、元组Tuple、字典Dict)

    1.Print函数中文编码问题 print中的编码:# -*- coding: utf-8 -*- 注:此处的#代表的是配置信息 print中的换行符,与C语言相同,为"\n" 2 ...

随机推荐

  1. PHP断言(ASSERT)的用法

    简述 编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式.程序员断言在程序中的某个特定点该的表达式值为真.如果该表达式为假,就中断操作. 可以 ...

  2. 配置正确情况下,hadoop 没有namenode的一个解决方法

    将hdfs里name与data清空,和将tmp清空 然后在hadoop目录下运行 hadoop namenode -format 启动   sbin/start-all.sh

  3. Error in Log_event::read_log_event(): 'Event too small', data_len: 0, event_type: 0

    MySQL主从复制报错如下: 2018-04-11 09:11:16 2400 [Note] Slave SQL thread initialized, starting replication in ...

  4. c/c++ 标准容器 vector的内存空间是如何自动增长的

    c/c++ 标准容器 vector的内存空间是如何自动增长的 vector,string,deque的内存存储机制:在一个连续的内存空间存储,所以才支持下标操作. vector的课题:由于容器的大小是 ...

  5. Linux 小知识翻译 - 「日志」(log)

    这次聊聊「日志」. 「日志」主要指系统或者软件留下的「记录」.出自表示「航海日志」的「logbook」. 经常听说「出现问题的时候,或者程序没有安装自己预期的来运行的时候,请看看日志!」. 确实,记录 ...

  6. python反向生成数据库模型类

    之前去的一家公司,去的时候项目已经好了,但是需要我根据数据库做一个后台管理系统,管理用户和其他的一些数据. 直接说方法 django框架 python manage.py inspectdb > ...

  7. C#基础知识之键盘对应的键值

    1.一般的按键禁用 一般的按键禁用只要找出相应的keycode禁用即可.例如:window.event.keyCode==13 //Enter键 其他可以对照一下的keyCode进行选择. 字母和数字 ...

  8. linux编译64bitHadoop (eg: ubuntu14.04 and hadoop 2.3.0)

    Hadoop官网提供的编译好的hadoop-2.3.0.tar.gz二进制包是在32位系统上编译的,在64系统上运行会有一些错误,比如: WARN util.NativeCodeLoader: Una ...

  9. C#字节数组与字符串转换

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  10. Git 安装及用法 github 代码发布 gitlab私有仓库的搭建

    版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 这个版本控制软件,有 svn还有git,是一个工具. git是由linux的作者开发的 git是一个分布式版本控制系统 ...