写代码,有如下字典,按照要求实现每一个功能dic = {'k1':'v1','k2':'v2','k3':'v3'}
1、请循环遍历出所有的key
for key in dic:
print(key)
2、请循环遍历出所有的value
for key in dic:
print(dic[key])
3、请循环遍历出所有的key和value
for key in dic:
print(key,dic[key])
4、请在字典中添加一个键值对,'k4':'v4',输出添加后的字典
方法1:dic['k4'] = 'v4'
方法2:dic.setdefault('k4','v4')
print(dic)
5、请删除字典中键值对'k1','v1',并输出删除后的字典
方法1:del dic['k1'] #这种方法,如果键值不存在,会报错
方法2:dic.pop('k1')
print(dic)
6、请删除字典中的键'k5'对应的键值对,如果字典中不存在键'k5',则不报错,并且让其返回None。
print(dic.pop('k5',None))
7、请获取字典中'k2'对应的值。
方法1:print(dic['k5']) #这种方法,如果k5键不存在,会报错
方法2:print(dic.get('k2'))
8、请获取字典中'k6'对应的值,如果键'k6'不存在,则不报错,并且让其返回None。
print(dic.get('k6'))
9、现有dic2 = {'k1':'v111','a':'b'}通过一行操作使dic2 = {'k1':'v1','k2':'v2','k3':'v3','a':'b'}
dic2.update(dic)
print(dic2)
10、组合嵌套题。写代码,有如下列表,按照要求实现每一个功能
lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]
1、将列表lis中的'tt'变成大写(用两种方式)
方法1:lis[0][1][2]['k1'][0] = 'TT'
方法2:lis[0][1][2].get('k1')[0] = 'TT'
print(lis)
2、将列表中的数字3变成字符串'100'(用两种方式)
方法1:lis[0][1][2]['k1'][1] = '100'
方法2:lis[0][1][2].get('k1')[1] = '100'
print(lis)
3、将列表中的字符串'1'变成数字101(用两种方式)
方法1:lis[0][1][2]['k1'][2] = 101
方法2:lis[0][1][2].get('k1')[2] = 101
print(lis)
11、按照要求实现以下功能:
现有一个列表li = [1,2,3,'a','b',4,'c'],有一个字典(此字典是动态生成的,你并不知道里面有多少键值对,所以用dic = {}模拟字典);现在需要完成这样的操作:如果该字典没有'k1'这个键,那就创建这个'k1'键和对应的值(该键对应的值设置为空列表),并将列表li中的索引位为奇数对应的元素,添加到'k1'这个键对应的空列表中。如果该字典中有'k1'这个键,且k1对应的value是列表类型,那就将列表li中的索引位为奇数对应的元素,添加到'k1'这个键对应的值中。
#!/usr/bin/env python
#-*- coding:utf-8 -*-
#Author:young
li = [1,2,3,'a',4,'c']
dic = {'k1':['zhang3']}
if "k1" not in dic: #判断dic字典里面是否存在k1这个键,不存在的情况
dic["k1"] = []
for i in range(len(li)):
if i%2 == 1:
dic["k1"].append(li[i])
else: #判断dic字典里面是否存在k1这个键,存在的情况
if type(dic["k1"]) == type([]): #存在且k1的值类型是列表
for i in range(len(li)):
if i % 2 == 1:
dic["k1"].append(li[i])
else: #存在,但k1的值类型不是列表
print('k1对应的键值不是列表类型!')
exit()
print(dic)