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)