微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python 字典练习题

代码,有如下字典,按照要求实现每一个功能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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐