字典练习

dic = {'k1':'v1','k2':'v2','k3':'v3'}
###循环遍历所有的key
for  key in dic:
    print(key)

####循环遍历出所有的value
for values in dic.values():
    print(values)

####循环遍历出所有的key和value
for key,value in dic.items():
    print(key,value)

for key in dic:
    print(key,dic[key])

####在字典中添加一个键值对,k4:v4 输出添加后的字典
dic['k4'] = 'v4'
print(dic)

###删除字典中键值对k1:v1 并输出删除后的字典
del dic['k1']
print(dic)

dic.pop('k1')
print(dic)

####删除字典中k5对应的键值对,如果k5 不存在,则不报错并返回None
print(dic.pop('k5',None))

###获取字典中k2 对应的值
print(dic['k2'])
print(dic.get('k2',None))

###获取字典中k6 对应的值,如果k6不存在则返回None
print(dic.get('k6',None))

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

'''
10.组合嵌套题,写代码,有如下列表,按照要求实现每一个功能
lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]
1.将列表lis 中的'tt'变成大写(用两种方式)
2.将列表中的数字3 变成字符串'100'(用两种方式)
3 将列表中的字符串'1'变成数字101(用两种方式)
'''
lis = [['k',['qwe',20,{'k1':['tt',3,'1']},89],'ab']]
print(lis[0][1][2].get('k1')[0].upper())
print(lis[0][1][2].get('k1')[0].swapcase())

a = lis[0][1][2].get('k1')[1]='100'
print(a)
dic1 = {'k1':['tt','100','1']}
lis[0][1][2].update(dic1)
print(lis)

a = lis[0][1][2].get('k1')[2]= 101
print(a)
dic1 = {'k1':['tt',3,101]}
lis[0][1][2].update(dic1)
print(lis)

'''
11 按照要求实现以下功能:
现有一个列表li = [1,2,3,'a','b',4,'c'],有一个字典
(此字典是动态生成的,你并不知道他里面有多少键值对,所以用dic = {}模拟此字典);
现在需要完成这样的操作:如果该字典没有'k1'这个键,那就创建'k1'键和其对应的值(该键对应的值设置为空列表)
并将列表li 中的 索引为奇数的对应元素,添加到'k1'这个键对应的空列表中。如果该字典有'k1'这个键,
且'k1'对应的value是列表类型,那就将li中的索引为奇数的对应元素,添加到'k1'这个键对应的键中
'''
li = [1,2,3,'a','b',4,'c']
dic = {}
if  'k1' not in dic:
    dic.setdefault('k1',[])
    for index,i in enumerate(li):
        if index % 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)
print(dic)

 

posted on 2018-04-23 22:34  海深深_蓝  阅读(247)  评论(0编辑  收藏  举报

导航