#创建一个字典

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 编程基础-字典类型和方法(课后习题)的更多相关文章

  1. python 编程基础-字典类型和方法

    定义:字典是一种key-vlaue的数据类型. 字典特性KEY值必须是唯一,且可hash的(不可变数据类型),无索引,无序的(因为有KEY),查找速度快 语法:info = {'stu1101':&q ...

  2. python 编程基础练习 第一天

    python 编程基础练习 第一天: 需求: 1.计算2的38次方,180*0.7输出(精度显示正常), x的y次方,数字倒序输出即345876输出678543,方法越多越好. 2.字符串处理: 1) ...

  3. Python编程Day6——元组类型、字典类型、集合

    一.元组类型(tuple) 1.用途:记录多个值,当多个值没有改变的需求此时元组更为合适 2.定义:在()内用逗号分隔开多个任意类型的值(参数为for可以循环的对象) 3.常用操作: 索引(正取向+反 ...

  4. python编程基础知识—字典

    字典 在python中,字典是一系列键-值对,每个键都与一个值相关联,可使用键来访问相关联的值.与键相关联的值可以是数字.字符串.列表乃至字典,即可将任何python对象用在字典中的值. 在pytho ...

  5. 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出

    第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...

  6. 《Python核心编程》 第五章 数字 - 课后习题

    课后习题  5-1 整形. 讲讲 Python 普通整型和长整型的区别. 答:普通整型是绝大多数现代系统都能识别的. Python的长整型类型能表达的数值仅仅与你机器支持的(虚拟)内存大小有关. 5- ...

  7. Python编程基础(一)

    1.Python中的变量赋值不需要类型声明 2.等号(=)用来给变量赋值 3.字符串拼接用  “+”  号 temp=‘123’ print('temp的值是%s'%temp) #整数和字符创的转换, ...

  8. python的str()字符串类型的方法详解

    字符串一旦创建,不可修改,一旦修改或者拼接,都会造成重新生成字符串,因为内存存数据是一个挨着一个存的,如果增加一个字符串的话,之前的老位置只有一个地方,不够,这是原理性的东西,在其他语言里面也一样 7 ...

  9. 《Python核心编程》 第六章 序列 - 课后习题

    课后习题 6–1.字符串.string 模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串是否是另一个大字符串的一部分? 答:成员关系操作符(in.not in) import string ...

随机推荐

  1. TCP/IP 笔记 1.2 链 路 层

    都是包含三种类型.根据类型字段的值来进行区分 2.4 SLIP:串行线路IPS L I P的全称是Serial Line IP.它是一种在串行线路上对 I P数据报进行封装的简单形式,在RFC 105 ...

  2. OSI七层网络模型与TCP/IP四层网络模型

    1.OSI网络7层模型 网络协议设计者不应当设计一个单一.巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议.这样做使得每个协议的设计.分 ...

  3. [poj1703]Find them, Catch them(种类并查集)

    题意:食物链的弱化版本 解题关键:种类并查集,注意向量的合成. $rank$为1代表与父亲对立,$rank$为0代表与父亲同类. #include<iostream> #include&l ...

  4. IO流框架关系总结(关系图)

    字节流和字符流关系图  打印流和序列化流关系图

  5. C++ 结构体的构造函数和析构函数

    在C++中除了类中可以有构造函数和析构函数外,结构体中也可以包含构造函数和析构函数,这是因为结构体和类基本雷同,唯一区别是,类中成员变量默认为私有,而结构体中则为公有.注意,C++中的结构体是可以有析 ...

  6. ps和ai的一些认识

    ps主要是一个后期软件,它很大程度上不是一个创作型的软件,这是它的定位.我觉得李涛老师那句话说的很好,ps是对已有的素材进行加工的.这个已有的素材来源包括但不限于拍照.扫描.数绘板.下载的.如果说你想 ...

  7. ZROI #88

    传送门 分析 我们考虑把每个A[i]考虑为山峰的高度,每次的B考虑为海平面 于是我们知道对于A[i]和A[i-1],如果A[i-1]<A[i]则在A[i-1]<B<=A[i]时会使陆 ...

  8. loj10102 旅游航道

    传送门 分析 一道喜闻乐见的求桥的板子题. 代码 #include<iostream> #include<cstdio> #include<cstring> #in ...

  9. Redis面试考点

    什么是Redis? Redis 是一个基于内存的高性能key-value数据库. Redis的特点以及缺点? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据 ...

  10. python---pyspider,报错?

    conf.json文件内容如下: { "message_queue": "redis://127.0.0.1:6379/15", "webui&quo ...