百万年薪python之路 -- 字典(dict)练习
1.请将列表中的每个元素通过 "_" 链接起来。
users = ['大黑哥','龚明阳',666,'渣渣辉']
users = ['大黑哥','龚明阳',666,'渣渣辉']
users[2] = str(users[2])
users = "_".join(users)
print(users)
2.请将元组 v1 = (11,22,33) 中的所有元素追加到列表 v2 = [44,55,66] 中。
v1 = (11,22,33)
v2 = [44,55,66]
for i in v1:
v2.append(i)
print(v2)
3.请将元组 v1 = (11,22,33,44,55,66,77,88,99)中的所有偶数索引位置的元素追加到新列表中。
v1 = (11,22,33,44,55,66,77,88,99)
lst = []
count = 0
for i in v1:
if count % 2 == 0:
lst.append(i)
count += 1
print(lst)
4.将字典的键和值分别追加到key_list 和 value_list 两个列表中,如:
key_list = []
value_list = []
info = {'k1':'v1','k2':'v2','k3':'v3'}
key_list = []
value_list = []
info = {'k1':'v1','k2':'v2','k3':'v3'}
for k,v in info.items():
key_list.append(k)
value_list.append(v)
print(key_list)
print(value_list )
5.字典dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
a. 请循环输出所有的key
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for k in dic.keys():
print(k)
b. 请循环输出所有的value
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for v in dic.values():
print(v)
c. 请循环输出所有的key和value
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for k,v in dic.items():
print(k,v)
d. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
dic["k4"] = "v4"
print(dic)
e. 请在修改字典中 "k1" 对应的值为 "alex",输出修改后的字典
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
dic["k1"] = "alex"
print(dic)
f. 请在k3对应的值中追加一个元素 44,输出修改后的字典
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
dic["k3"].append(44)
print(dic)
g. 请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
dic["k3"].insert(0,18)
print(dic)
6.有如下字典,实现以下需求的内容
av_catalog = {
"欧美":{
"www.太白.com": ["很多免费的,世界最大的","质量一般"],
"www.alex.com": ["很多免费的,也很大","质量挺好"],
"oldboy.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
"hao222.com":["质量很高,真的很高","全部收费,屌丝请绕过"]
},
"日韩":{
"tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]
},
"大陆":{
"1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
}
}
1)给此 ["很多免费的,世界最大的","质量一般"]列表第二个位置插入一个 元素:'量很大'。
av_catalog["欧美"]["www.太白.com"].insert(1,'量很大')
print(av_catalog)
2)将此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表的 "全部收费,屌丝请绕过" 删除。
av_catalog["欧美"]["hao222.com"].pop()
print(av_catalog)
3)将此["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]列表的 "verygood"全部变成大写。
av_catalog["日韩"]["tokyo-hot"][-1] = av_catalog["日韩"]["tokyo-hot"][-1].upper()
print(av_catalog)
4)给 '大陆' 对应的字典添加一个键值对 '1048' :['一天就封了']
av_catalog["大陆"]['1048'] = ['一天就封了']
print(av_catalog)
5)删除这个键值对:"oldboy.com": ["多是自拍,高质量图片很多","资源不多,更新慢"]
av_catalog["欧美"].pop("oldboy.com")
print(av_catalog)
6)给此["全部免费,真好,好人一生平安","服务器在国外,慢"]列表的第一个元素,加上一句话:'可以爬下来'
av_catalog["大陆"]["1024"].insert(0,'可以爬下来')
print(av_catalog)
7.请循环打印k2对应的值中的每个元素。
info = {
'k1':'v1',
'k2':[('alex'),('wupeiqi'),('oldboy')],
}
info = {
'k1':'v1',
'k2':[('alex'),('wupeiqi'),('oldboy')],
}
for i in info["k2"]:
print(i)
8.有字符串"k: 1|k1:2|k2:3 |k3:4" 处理成字典 {'k':1,'k1':2....}
写代码
s = "k: 1|k1:2|k2:3 |k3 :4"
s = s.split("|")
k = ""
v = 0
dic = {}
# s = dict(s)
for i in s:
i = i.replace(" ","").split(":")
a,b = i
dic[a] = b
print(dic)
9.有如下值 li= [11,22,33,44,55,77,88,99,90] ,将所有大于 66 的值保存至字典的第一个key对应的列表中,将小于 66 的值保存至第二个key对应的列表中。
li= [11,22,33,44,55,77,88,99,90]
dic = {"key1":[],"key2":[]}
for i in li:
if i > 66:
dic["key1"].append(i)
elif i < 66:
dic["key2"].append(i)
print(dic)
10.输出商品列表,用户输入序号,显示用户选中的商品
商品列表:
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}]
要求:
1:页面显示 序号 + 商品名称 + 商品价格,如:
1 电脑 1999
2 鼠标 10
3 游艇 20
4 美女 998
2:用户输入选择的商品序号,然后打印商品名称及商品价格
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
4:用户输入Q或者q,退出程序。
flag = True
print(s)
while flag:
inp = input("请输入商品序号:")
if inp.lower() != "q":
if int(inp) in range(1,5):
inp = int(inp)
name,price= goods[inp - 1]["name"],goods[inp - 1]["price"]
print(name,price)
else:
print("请重新输入")
else:
flag = False
11.看代码写结果(一定要先看代码在运行)
v = {}
for index in range(10):
v['users'] = index
print(v)
报错
v = {}
for index in range(10):
v['users'] = index
print(v)
{'users': 9}
百万年薪python之路 -- 字典(dict)练习的更多相关文章
- 百万年薪python之路 -- 字典(dict)
1.字典(dict)-- dict关键字 字典(dict)是python中唯⼀的⼀个映射类型.他是以{ }括起来的键值对组成. 字典中逗号分隔叫作一个元素 字典是无序的 key必须是不可变 ...
- 百万年薪python之路 -- 基础数据类型的补充
基础数据类型的补充 str: 首字母大写 name = 'alexdasx' new_name = name.capitalize() print(new_name) 通过元素查找下标 从左到右 只查 ...
- 百万年薪python之路 -- 模块二
1. 序列化模块 什么是序列化呢? 序列化的本质就是将一种数据结构(如字典.列表)等转换成一个特殊的序列(字符串或者bytes)的过程就叫做序列化. 为什么要有序列化模块? 如果你写入文件中的字符串是 ...
- 百万年薪python之路 -- 迭代器
3.1 可迭代对象 3.1.1 可迭代对象定义 **在python中,但凡内部含有 _ _ iter_ _方法的对象,都是可迭代对象**. 3.1.2 查看对象内部方法 该对象内部含有什么方法除了看源 ...
- 百万年薪python之路 -- 函数的动态参数
1.函数的动态参数 1.1 动态接收位置参数 在参数位置用*表示接受任意参数 def eat(*args): print('我想吃',args) eat('蒸羊羔','蒸熊掌','蒸鹿尾儿','烧花鸭 ...
- 百万年薪python之路 -- 基础数据类型的补充练习
1.看代码写结果 v1 = [1,2,3,4,5] v2 = [v1,v1,v1] v1.append(6) print(v1) print(v2) [1,2,3,4,5,6] [[1,2,3,4,5 ...
- 百万年薪python之路 -- 小数据池和代码块
1.小数据池和代码块 # 小数据池 -- 缓存机制(驻留机制) # == 判断两边内容是否相等 # a = 10 # b = 10 # print(a == b) # is 是 # a = 10 # ...
- 百万年薪python之路 -- JS基础介绍及数据类型
JS代码的引入 方式1: <script> alert('兽人永不为奴!') </script> 方式2:外部文件引入 src属性值为js文件路径 <script src ...
- 百万年薪python之路 -- MySQL数据库之 Navicat工具和pymysql模块
一. IDE工具介绍(Navicat) 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具,我们使用Navicat工具,这个工具本质上就是一个socket客户端,可视化的连接 ...
随机推荐
- nested exception is java.lang.NoClassDefFoundError: javax/xml/soap/SOAPElement
JavaSE 8 includes package java.xml.soap.JavaSE 9 moved package javax.xml.soap to the module java.xml ...
- JSP自定义标签的使用简化版
在jsp中 如果不想页面中出现java代码 这个时候就需要使用到jsp的自定义标签库技术了 自定义标签库 能够有效的减少jsp中java代码的出现 使其更加自然的像html页面一样 如果要使用jsp自 ...
- JDK 自带的性能监控工具
JDK安装完后,其内置了许多的监控工具,常用的有jvisualvm,jconsole,jps,jmap,jinfo,jstat,jstack,这些命令都在jdk安装的bin目录下: 1.jvisual ...
- .Net Core自动化部署系列(二):使用Jenkins打造镜像发布流水线
一.简介 之前写过一篇关于Jenkins搭配GitLab实现.net core项目自动发布到IIS的博文,比较简单哈,只是个Demo.本篇我们将会使用Jenkins搭配GitLab实现镜像的自动打包和 ...
- (三)分布式数据库tidb-隔离级别详解
tidb隔离级别详解: 1.TiDB 支持的隔离级别是 Snapshot Isolation(SI),它和 Repeatable Read(RR) 隔离级别基本等价,详细情况如下: ● TiDB 的 ...
- python 关于excel弹窗——请注意,您的文档的部分内容可能包含了文档检查器无法删除的个人信息解决方法
参考https://www.cnblogs.com/Jacklovely/p/6582732.html 这个问题的原因是由于工作簿包含宏.ActiveX控件等内容, 而Excel被设置为在保存文件时自 ...
- CSS3自定义浏览器滚动条样式
一个完整滚动条右以下部分组成: ::-webkit-scrollbar 滚动条整体部分,常用属性:width,height,background,border: ::-webkit-scrollbar ...
- jQuery查找节点(选择器)
jQuery通过选择器来完成节点的查找: 1.基本选择器: ①通用/所有的选择器:$("*") //使用*号来表示. ②:标签选择器:$("标签名(div)") ...
- 强大得分布式项目管理工具Git
---恢复内容开始--- 强大的分布式管理工具-Git(一) 前言:最近忙着写项目,在期间呢,用的是git管理,由于一个项目的管理是很重要得,所以整理了一篇关于git得博客跟大家分享一下.大家都知道, ...
- 问题TypeError: __init__() takes 1 positional argument but 2 were given解决方案
在搭建自动化框架时,遇到一个问题,如下图: 根据报错的意思,应该是__init__函数的问题, 位置应该是HomePage文件 立马去查看一下文件,如图: 原来是因为的粗心大意__init__(sel ...