python 编程基础-字典类型和方法(课后习题)
#创建一个字典
dic = {'k1':'v1','k2':'v2','k3':'v3'}
#1.请循环遍历出所有的KEY
for k in dic:
print(k)
#2请循环遍历出所有的value
for k in dic:
print(dic[k])
#3请循环遍历初所有的KEY和VALUE
for k in dic:
print(k,dic[k])
#4请在字典中添加一个键值对,'k4':'v4',输出添加后的字典
dic['k4'] = 'v4'
print(dic)
#5请删除字典中键值对'k1','v1',并输出删除后的字典
dic.pop('k1')
print(dic)
#6请删除字典中键'k5'对应的键值对,如果字典中不存在键'k5',则不报错,并且让其返回none
if 'k5' in dic:
dic.pop('k5')
else:
print(dic.get('k5'))
#7请获取字典中'k2'对应的值
print(dic.get('k2'))
#8请获取字典中'k6'对应的值,如果'k6'不存在,则不报错,并且让其返回Nnoe
print(dic.get('k6'))
#9现有dic2 = {'k1':'v111','a':'b'}请通过一行操作使dic2 = {'k1':'v1','k2':'v2','k3':'v3','a':'b'}
dic = {'k1':'v1','k2':'v2','k3':'v3'}
dic2 = {'k1':'v111','a':'b'}
dic2.update(dic)
print(dic2)
#10.组合嵌套题,写代码,有如下列表,按照要求实现每一个功能
lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]
#10.1.将列表lis 中的'tt'变成大写(用两种方式)
#10.1.1
print(lis[0][1][2].get('k1')[0].upper())
#10.1.2
print(lis[0][1][2].get('k1')[0].swapcase())
#10.2.将列表中的数字3 变成字符串'100'(用两种方式)
#10.2.1
print(lis)
lis[0][1][2].get('k1')[1] = '100'
print(lis)
#10.2.2
lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]
dic3 = {'k1':['tt','100','1']}
print(lis)
lis[0][1][2].update(dic3)
print(lis)
#10.3 将列表中的字符串'1'变成数字101(用两种方式)
#10.3.1
lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]
print(lis)
lis[0][1][2].get('k1')[2] = 101
print(lis)
#10.3.2
lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]
dic3 = {'k1':['tt',3,101]}
print(lis)
lis[0][1][2].update(dic3)
print(lis)
#11 按照要求实现以下功能:
#现有一个列表li = [1,2,3,'a','b',4,'c'],有一个字典(此字典是动态生成的,你并不知道他里卖弄有多少键值对,所以
#用dic = {}模拟此字典);现在需要完成这样的操作:如果该字典没有'k1'这个键,那就创建'k1'键和其对应的值(该键对应的值设置为空列表)
#并将列表li 中的 索引为奇数的对应元素,添加到'k1'这个键对应的空列表中。如果该字典有'k1'这个键,且'k1'对应的value
#是列表类型,那就将li中的索引为奇数的对应元素,添加到'k1'这个键对应的键中
dic = {'k2':2,'k3':3}#1. dic{}字典中 没有 'k1'
#dic = {'k1':['we','tt'],'k2':2}#2 dic{}字典中有'k1'
#dic = {'k1':1,'k2':33} # 有'k1'但'k1'value 非列表
li = [1,2,3,'a','b',4,'c']
if not 'k1' in dic:
dic.setdefault('k1',[])
for i in li :
if li.index(i) % 2 == 1:
dic['k1'].append(i)
else:
if type(dic['k1']) == type([]):
for i in li:
if li.index(i) % 2 == 1:
dic['k1'].append(i)
else:
print("字典K1,VALUE 不是列表,无法追加")
print(dic)
python 编程基础-字典类型和方法(课后习题)的更多相关文章
- python 编程基础-字典类型和方法
定义:字典是一种key-vlaue的数据类型. 字典特性KEY值必须是唯一,且可hash的(不可变数据类型),无索引,无序的(因为有KEY),查找速度快 语法:info = {'stu1101':&q ...
- python 编程基础练习 第一天
python 编程基础练习 第一天: 需求: 1.计算2的38次方,180*0.7输出(精度显示正常), x的y次方,数字倒序输出即345876输出678543,方法越多越好. 2.字符串处理: 1) ...
- Python编程Day6——元组类型、字典类型、集合
一.元组类型(tuple) 1.用途:记录多个值,当多个值没有改变的需求此时元组更为合适 2.定义:在()内用逗号分隔开多个任意类型的值(参数为for可以循环的对象) 3.常用操作: 索引(正取向+反 ...
- python编程基础知识—字典
字典 在python中,字典是一系列键-值对,每个键都与一个值相关联,可使用键来访问相关联的值.与键相关联的值可以是数字.字符串.列表乃至字典,即可将任何python对象用在字典中的值. 在pytho ...
- 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出
第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...
- 《Python核心编程》 第五章 数字 - 课后习题
课后习题 5-1 整形. 讲讲 Python 普通整型和长整型的区别. 答:普通整型是绝大多数现代系统都能识别的. Python的长整型类型能表达的数值仅仅与你机器支持的(虚拟)内存大小有关. 5- ...
- Python编程基础(一)
1.Python中的变量赋值不需要类型声明 2.等号(=)用来给变量赋值 3.字符串拼接用 “+” 号 temp=‘123’ print('temp的值是%s'%temp) #整数和字符创的转换, ...
- python的str()字符串类型的方法详解
字符串一旦创建,不可修改,一旦修改或者拼接,都会造成重新生成字符串,因为内存存数据是一个挨着一个存的,如果增加一个字符串的话,之前的老位置只有一个地方,不够,这是原理性的东西,在其他语言里面也一样 7 ...
- 《Python核心编程》 第六章 序列 - 课后习题
课后习题 6–1.字符串.string 模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串是否是另一个大字符串的一部分? 答:成员关系操作符(in.not in) import string ...
随机推荐
- HTML标签详细讲解
http://www.cnblogs.com/yuanchenqi/articles/5603871.html
- import gevent 协程 import greenlet
- css知多少(4)——解读浏览器默认样式(转)
css知多少(4)——解读浏览器默认样式 上一节<css知多少(3)——样式来源与层叠规则>介绍了样式的五种来源,咱们再通过一张图回顾一下. 对于上面的三层,咱们大概都比较熟悉了.下面 ...
- PCL—关键点检测(rangeImage)低层次点云处理
博客转载自:http://www.cnblogs.com/ironstark/p/5046479.html 关键点又称为感兴趣的点,是低层次视觉通往高层次视觉的捷径,抑或是高层次感知对低层次处理手段的 ...
- 单引号和0的ASCII码
单引号的ASCII码为0xfe. 那么0xfefe,就表示''. 0的ACSII码为0x30.
- ZROI2018普转提day1t1
传送门 分析 我们先二分一下最终的平均值mid,然后让序列中的每一个数都减去这个mid,之后用新序列的前缀和建一棵线段树,枚举起点i,然后求出此时在i+L-1~i+R-1范围内的前缀和的最大值,用这个 ...
- 数据结构 happiness
问题描述 这一天是小 V 的生日,他收到了朋友们送给他的礼物.现在,小 V 有 n 件礼物,他将这 n 件礼物排成一排,依次编号为 1 到 n,每件礼物都有一个满意值 w[i].现在小 V 要从中选取 ...
- js教程--从入门到精通 第一篇 js的前世今生以及js中基本数据类型和引入方式
1.Javascript前世今生 1.1.什么是Javascript Javascript运行于Javascript [解释器/引擎]中的解释性脚本语言 Javascript ...
- android自定义视图属性(atts.xml,TypedArray)学习
是一个用于存放恢复obtainStyledAttributes(AttributeSet, int[], int, int)或 obtainAttributes(AttributeSet, int[] ...
- 并发编程学习笔记之可见性&过期数据(二)
想要使用多线程编程,有一个很重要的前提,那就是必须保证操纵的是线程安全的类. 那么如何构建线程安全的类呢? 1. 使用同步来避免多个线程在同一时间访问同一数据. 2. 正确的共享和安全的发布对象,使多 ...