博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python字典练习题
阅读量:5233 次
发布时间:2019-06-14

本文共 3809 字,大约阅读时间需要 12 分钟。

有字典 dic = {"k1": "v1", "k2": "v2", "k3": "v3"},实现以下功能:

  1、遍历字典 dic 中所有的key

  参考答案:

#!-*- coding:utf-8 -*-dic = {
"k1": "v1", "k2": "v2", "k3": "v3"}for k in dic.keys(): print(k)
View Code

  

  2、遍历字典 dic 中所有的value

  参考答案:

#!-*- coding:utf-8 -*-dic = {
"k1": "v1", "k2": "v2", "k3": "v3"}for v in dic.values(): print(v)
View Code

  

  3、循环遍历字典 dic 中所有的key和value

  参考答案:

#!-*- coding:utf-8 -*-dic = {
"k1": "v1", "k2": "v2", "k3": "v3"}for k,v in dic.items(): print(k,v)
View Code

  

  4、添加一个键值对"k4","v4",输出添加后的字典 dic

  参考答案:

#!-*- coding:utf-8 -*-dic = {
"k1": "v1", "k2": "v2", "k3": "v3"}dic["k4"] = "v4"print(dic)
View Code

  

  5、删除字典 dic 中的键值对"k1","v1",并输出删除后的字典 dic

  参考答案:

#!-*- coding:utf-8 -*-dic = {
"k1": "v1", "k2": "v2", "k3": "v3"}dic["k4"] = "v4"dic.pop("k1") # 方法1:可以返回删除的k对应的value,不存在则会引发异常del dic['k1'] # 方法2:不返回删除的k对应的value,不存在则会引发异常print(dic) # {'k2': 'v2', 'k3': 'v3', 'k4': 'v4'}
View Code

  

  6、删除字典 dic 中 'k5' 对应的值,若不存在,使其不报错,并返回None

  参考答案:

#!-*- coding:utf-8 -*-dic = {
"k1": "v1", "k2": "v2", "k3": "v3"}dic["k4"] = "v4"dic.pop("k1")print(dic.pop("k5",None)) # None
View Code

  

  7、获取字典 dic 中“k2”对应的值

  参考答案:

#!-*- coding:utf-8 -*-dic = {
"k1": "v1", "k2": "v2", "k3": "v3"}dic["k4"] = "v4"dic.pop("k1") print(dic.pop("k5",None)) print(dic["k2"]) # v2 方法1:不存在时,会报错print(dic.get("k2")) # v2 方法2:不存在时,返回 None
View Code

  

  8、获取字典 dic 中"k6"对应的值,如果不存在,使其不报错,并且让其返回数据 None

  参考答案:

#!-*- coding:utf-8 -*-dic = {
"k1": "v1", "k2": "v2", "k3": "v3"}dic["k4"] = "v4"dic.pop("k1") print(dic.pop("k5",None)) print(dic.get("k6")) # None
View Code

  

  9、有字典 dic2 = {'k1':"v111",'a':"b"} 通过一行操作使 dic2 = {'k1':"v111",'k2':"v2",'k3':"v3",'k4': 'v4','a':"b"}

  参考答案:

#!-*- coding:utf-8 -*-dic = {
"k1": "v1", "k2": "v2", "k3": "v3"}dic["k4"] = "v4"dic.pop("k1") print(dic.pop("k5",None)) print(dic) # {'k2': 'v2', 'k3': 'v3', 'k4': 'v4'} 打印此时的字典 dicdic2 = {
'k1': "v111", 'a': "b"}dic2.update(dic) # 将字典dic2的键值对添加到字典dic中print(dic2) # {'k1': 'v111', 'a': 'b', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'}
View Code

  

  10、组合嵌套,实现功能,现有列表如下:

    list = [['k', ['qwe', 20, {'k1': ['tt', 3, '1']}, 89], 'ab']]

  (1)将列表中的‘tt’变成大写(两种方式)

  参考答案:

#!-*- coding:utf-8 -*-list = [['k', ['qwe', 20, {
'k1': ['tt', 3, '1']}, 89], 'ab']]print(list[0][1][2].get('k1')[0].upper()) # TT 方法1--upper()返回大写字符串print(list[0][1][2].get('k1')[0].swapcase()) # TT 方法2--swapcase() 大小写互换
View Code

  (2)将数字 3 变成字符串 ‘100’(两种方式)

  参考答案:

#!-*- coding:utf-8 -*-list = [['k', ['qwe', 20, {
'k1': ['tt', 3, '1']}, 89], 'ab']]list[0][1][2].get('k1')[1] = '100'list[0][1][2]['k1'][1] = '100'print(list)
View Code

  (3)将列表中的字符串‘1’变成数字101(两种方式)

  参考答案:

#!-*- coding:utf-8 -*-list = [['k', ['qwe', 20, {
'k1': ['tt', 3, '1']}, 89], 'ab']]list[0][1][2]['k1'][-1] = 101 # 方法1list[0][1][2].get('k1')[2] = 101 # 方法2print(list[0][1][2].get('k1'))
View Code

  

  11、按照要求实现以下功能:li = [1,2,3,'a','b',4,'c'],有一个字典(此字典是动态生成的,你并不知道它有多少键值对,所以用 dic={} 模拟),具体操作如下:如果字典没有'k1'这个键,那就创建这个'k1'键和对应的值(对应值设为空列表),并将列表li中的索引为奇数对应的元素,添加到'k1'这个键对应的空列表中;如果有'k1'这个键,且'k1'对应的value值是列表类型,那就将列表li中的索引为奇数对应的元素,添加到'k1'这个键对应的值中。

  参考答案:

#!-*- coding:utf-8 -*-li = [1,2,3,'a','b',4,'c']dic = {} # 动态生成if len(dic.keys()) > 0:     ''' 判断字典是否为空 '''    for i in dic.keys():        ''' 遍历字典的 key '''        if 'k1' in i and type(dic.get('k1')==list):            ''' 判断 "k1"是否存在字典中且对应的键值是否是一个列表 '''            for index,k in enumerate(li):                ''' 遍历列表中的索引和索引对应的列表元素 '''                if index%2 == 1:                    ''' 判断索引是否为奇数 '''                    dic['k1'].append(li[index])else:    print(len(dic)) #验证    dic['k1'] = []    for index,k in enumerate(li):        if index%2 == 1:            dic['k1'].append(li[index])print(dic)
View Code

 

  

 

转载于:https://www.cnblogs.com/schut/p/10477436.html

你可能感兴趣的文章
name phone email正则表达式
查看>>
721. Accounts Merge
查看>>
OpenCv-Python 图像处理基本操作
查看>>
「Unity」委托 将方法作为参数传递
查看>>
重置GNOME-TERMINAL
查看>>
redis哨兵集群、docker入门
查看>>
hihoCoder 1233 : Boxes(盒子)
查看>>
oracle中anyData数据类型的使用实例
查看>>
C++对vector里面的元素排序及取任意重叠区间
查看>>
软件测试——性能测试总结
查看>>
12.4站立会议
查看>>
Java Concurrentmodificationexception异常原因和解决方法
查看>>
客户端访问浏览器的流程
查看>>
codeforces水题100道 第二十二题 Codeforces Beta Round #89 (Div. 2) A. String Task (strings)
查看>>
c++||template
查看>>
[BZOJ 5323][Jxoi2018]游戏
查看>>
编程面试的10大算法概念汇总
查看>>
Vue
查看>>
python-三级菜单和购物车程序
查看>>
条件断点 符号断点
查看>>