1.写代码,有如下字典,按照要求实现每一个功能,dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}

  • 请循环输出所有的 key

  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. for k in dic.keys():
  3. print(k)
  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. for k in dic:
  3. print(k)
  • 请循环输出所有的 value

  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. for v in dic.values():
  3. print(v)
  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. for k in dic:
  3. print(dic[k])
  • 请循环输出所有的 key 和 value

  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. for k in dic.keys():
  3. print(k,dic[k])
  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. for k in dic:
  3. print(k,dic[k])
  • 请在字典中添加一个键值对,'k4':'v4',输出添加后的字典

  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. dic['k4'] = 'v4' #通过索引添加
  3. print(dic)
  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. dic.update({'k4':'v4'}) # 传一个字典
  3. print(dic)
  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. dic.update(k4 = "v4") # 传关键字
  3. print(dic)
  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. dic.update(zip(['k4'],['v4'])) # 传一个zip函数
  3. print(dic)
  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. dic.update([('k4','v4')]) # 传一个包含一个或多个元祖的列表
  3. print(dic)
  • 请在修改字典中“k1”对应的值为“alex”,输出修改后的字典

  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. dic['k1'] = "alex"
  3. print(dic)
  • 请在k3对应的值中追加一个元素44,输出修改后的字典

  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. dic['k3'].append("44")
  3. print(dic
  • 请在k3对应的值的第1个位置插入个元素18,输出修改后的字典

  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. dic['k3'].insert(0,18)
  3. print(dic)
  • 请删除字典中键值对,'k1':'v1',并输出删除后的字典

  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. dic.pop('k1')
  3. print(dic)
  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. del dic['k1']
  3. print(dic)
  • 请删除字典中的键'k5'对应的键值对,如果字典中不存在键'k5',则不报错,并且让其返回 None

  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. pop_k5 = dic.pop('k5',"None")
  3. print(pop_k5)
  • 请获取字典中'k2'对应的值

  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. view_k2 = dic['k2']
  3. print(view_k2)
  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. view_k2 = dic.get('k2')
  3. print(view_k2)
  • 请获取字典中'k6'对应的值,如果键'k6'不存在,则不报错,并且让其返回 None

  1. dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
  2. view_k6 = dic.get('k6')
  3. print(view_k6)

2.现有 dic2 = {'k1':'v111','a':'b'}通过一行操作使 dic2 = {'k1':'v1','k2':'v2','k3':'v3','a','b'}

  1. dic2 = {'k1':'v111','a':'b'}
  2. dic2.update({'k1':'v1','k2':'v2','k3':'v3'})
  3. print(dic2)

3.组合嵌套题。写代码,有如下列表,按照要求实现每一个功能

lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]

(1).将列表 lis 中的'tt'变成大写(用两种方式)

  1. lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]
  2. view_list_tt = lis[0][1][2]['k1']
  3. view_tt = lis[0][1][2]['k1'][0]
  4. view_list_tt[0] = view_tt.upper()
  5. print(lis)
  1. lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]
  2. view_list_tt = lis[0][1][2]['k1']
  3. view_tt = lis[0][1][2]['k1'][0]
  4. view_list_tt[0] = view_tt.swapcase()
  5. print(lis)

(2).将列表中的数字 3 变成 字符串 '100'(用两种方式)

  1. lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]
  2. view_list_3 = lis[0][1][2]['k1']
  3. view_3 = lis[0][1][2]['k1'][1]
  4. view_list_3[1] = '100'
  5. print(lis)
  1. lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]
  2. lis[0][1][2].update({'k1': ['tt', 100, '1']})
  3. print(lis)

(3).将列表中的字符串'1'变成数字 101 (用两种方式)

  1. lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]
  2. view_list_1 = lis[0][1][2]['k1']
  3. view_1 = lis[0][1][2]['k1'][2]
  4. view_list_1[2] = 101
  5. print(lis)
  1. lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]
  2. lis[0][1][2].update({'k1': ['tt', 3, 101]})
  3. print(lis)

4.按照要求实现以下功能

现有一个列表 li = [1,2,3,'a','b',4,'c'],有一个字典(此字典是动态生成的,你并不知道他里面有多少键值对,所以用 dic = {}模拟此字典),现在需要完成这样的操作:

如果该字典没有'k1'这个键,那就创建这个'k1'键和其对应的值(该键对应的值设置为空列表),并将列表 li 中的索引位为奇数对应的元素,添加到'k1'这个键对应的空列表中。

如果该字典中有'k1'这个键,且k1对应的value是列表类型,那就将列表 li 中的索引位为偶数对应的元素,添加到'k1'这个键对应的值中。

  1. li = [1, 2, 3, 'a', 'b', 4, 'c']
  2. dic = {} # 没有k1的情况
  3. # dic = {'k1':[]} # 有k1的情况
  4. # dic = {'k1':['e','f']} # 有k1的情况
  5. if 'k1' not in dic:
  6. li2 = []
  7. dic.setdefault('k1', li2)
  8. for i in li:
  9. if li.index(i) % 2 == 1:
  10. li2.append(i)
  11. else:
  12. if type(dic['k1']) == list:
  13. li2 = dic['k1']
  14. for i in li:
  15. if li.index(i) % 2 == 0:
  16. li2.append(i)
  17. print(dic)

第2章 Python基础-字符编码&数据类型 字典 练习题的更多相关文章

  1. 第2章 Python基础-字符编码&数据类型 综合 练习题

    1.转换 将字符串s = "alex"转换成列表 s = "alex" s_list = list(s) print(s_list) 将字符串s = " ...

  2. 第2章 Python基础-字符编码&数据类型 字符编码&字符串 练习题

    1.简述位.字节的关系 位(bit)是计算机中最小的表示单元,数据传输是以“位”为单位的,1bit缩写为1b 字节(Byte)是计算机中最小的存储单位,1Byte缩写为1B 8bit = 1Byte ...

  3. 第2章 Python基础-字符编码&数据类型 列表&元祖 练习题

    1.创建一个空列表,命名为names,往里面添加old_driver,rain,jack,shanshan,peiqi,black_girl元素 names = ["old_driver&q ...

  4. 第2章 Python基础-字符编码&数据类型 购物车&多级菜单 作业

    作业 一.三级菜单 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, ...

  5. Python基础-字符编码与转码

    ***了解计算机的底层原理*** Python全栈开发之Python基础-字符编码与转码 需知: 1.在python2默认编码是ASCII, python3里默认是utf-8 2.unicode 分为 ...

  6. Python基础(字符编码与文件处理)

    一.了解字符编码的知识储备 1.计算机基础知识(三副图) 2.文本编辑器存取文件的原理(notepad++,Pycharm,word) 打开编辑器就启动了一个进程,是在内存中运行的,所以在编辑器写的内 ...

  7. Python学习-字符编码, 数据类型

    本篇主要内容: 字符编码 Python中的数据类型有哪些 类型的一些常用操作及方法 一.字符编码 编码解释的大部分内容摘自廖雪峰老师教程中的讲解,点击跳转. 简单介绍: 我们知道计算机只能处理数字,如 ...

  8. python基础-----字符编码

    1.ASCII ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现 ...

  9. python基础--字符编码以及文件操作

    字符编码: 1.运行程序的三个核心硬件:cpu.内存.硬盘 任何一个程序要是想要运算,肯定是先从硬盘加载到当前的内存中,然后cpu根据指定的指令去执行操作 2.python解释器运行一个py文件的步骤 ...

随机推荐

  1. PetaPoco使用

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <connecti ...

  2. MapReduce任务参数调优(转)

    http://blog.javachen.com/2014/06/24/tuning-in-mapreduce/ 本文主要记录Hadoop 2.x版本中MapReduce参数调优,不涉及Yarn的调优 ...

  3. 转:CentOS系统yum源配置修改、yum安装软件包源码包出错解决办法!

    yum安装包时报错: Could not retrieve mirrorlist http://mirrorlist.repoforge.org/el6/mirrors-rpmforge error ...

  4. jenkins里面使用批处理命令进行自动部署

    http://blog.csdn.net/hwhua1986/article/details/47974047

  5. mysql基础拓扑图

    存在的意义,就是体验差异! 01.mysql架构图 02.账户认证流程 03.mysql逻辑结构

  6. 基于全注解的SpringMVC+Spring4.2+hibernate4.3框架搭建

    概述 从0到1教你搭建spring+springMVC+hibernate整合框架,基于注解. 本教程框架为基于全注解的SpringMVC+Spring4.2+hibernate4.3,开发工具为my ...

  7. Easyui入门视频教程 第06集---Layout初始化和属性方法使用

    目录 ----------------------- Easyui入门视频教程 第09集---登录完善 图标自定义   Easyui入门视频教程 第08集---登录实现 ajax button的使用  ...

  8. tf.gfile

    一.功能和目的 tf.gfile模块定义在tensorflow/python/platform/gfile.py,但其源代码实现主要位于tensorflow/tensorflow/python/lib ...

  9. Android百度地图相关内容汇总

    Android百度地图知识讲解 1.百度地图开发环境搭建    http://www.apkbus.com/android-116050-1-1.html 2.Android百度地图系列教程    h ...

  10. 【LeetCode】221. Maximal Square

    Maximal Square Given a 2D binary matrix filled with 0's and 1's, find the largest square containing ...