python字典操作实现

1、字典增删改查操作方法
dic = {‘k1’: “v1”, “k2”: “v2”, “k3”: [11,22,33]}
#(1)请在字典中添加一个键值对,“k4”: “v4”,输出添加后的字典
#(2)请在修改字典中 “k1” 对应的值为 “alex”,输出修改后的字典
#(3)请在k3对应的值中追加一个元素 44,输出修改后的字典
#(4)请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典

def operatedict(dic):
    key = "k4"
    dic[key] = "v4"
    dic["k1"] = "alex"
    dic["k3"].append(44)
    dic["k3"].insert(0, 18)
    print(dic)

调用方法:
dic = {‘k1’: “v1”, “k2”: “v2”, “k3”: [11, 22, 33]}
operatedict(dic)

2、字典操作2
#dic1 = {‘name’:[‘alex’,2,3,5],
‘job’:‘teacher’,
‘oldboy’:{‘alex’:[‘python1’,‘python2’,100]}}
#(1)将name对应的列表追加一个元素’wusir’。
#(2)将name对应的列表中的alex首字母大写。
#(3)oldboy对应的字典加一个键值对’老男孩’,’linux’。
#(4)将oldboy对应的字典中的alex对应的列表中的python2删除

def dictoperate(dic):
    dic["name"].append('wusir')
    str = list(dic["name"][0])
    str[0] = dic["name"][0][0].upper()
    dic["name"][0] = "".join(str)
    dic["oldboy"]["老男孩"] = "linux"
    del dic["oldboy"]['alex'][1]
    print(dic)

调用方法
dic1 = {‘name’:[‘alex’,2,3,5],
‘job’:‘teacher’,
‘oldboy’:{‘alex’:[‘python1’,‘python2’,100]}}
dictoperate(dic1)

3、三种方法删除字典元素
5、已知有一个包含一些同学的成绩的字典,计算成绩的最高分、最低分、平均分、并查找所有最高分同学。字典示列:
6、定义一个含有三个元素的字典,分别用三种方式删除其中的一个元素,然后再输出该字典。
#Scores={“zhang san”:45,”li si”:78,”wang wu ”:40}

def getmaxminavg(dic):
    print("最高分:", max(dic.values()))
    print("最低分:", min(dic.values()))
    print("平均分:", sum(dic.values())/len(dic))
    i1 = 0
    for i in dic.values():
        if i == max(dic.values()):
            i2 = 0
            for j in dic:
                if i2 == i1:
                    print('最高分是:', j)
                i2 += 1
        i1 += 1
    dic.pop("zhang san")
    print(dic)
    dic.popitem()
    print(dic)
    dic.__delitem__("li si")
    print(dic)

调用方法
getmaxminavg({“zhang san”:45,“li si”:78,"wang wu ":40})

4、字典 {} 字典 内元素可以被更改
dict = {‘字符串’:f, ‘列表’:list, ‘元组’:tuple}
print(type(dict), dict)
print(dict[‘元组’]) #输出对应键值
print(dict.keys()) #输出所有键
print(dict.values()) #输出所有键值
dict[‘字符串’]=‘字典元素值可以被更改’
print(dict.values())

5、生成字典方法

a = ['name', 'age', 'sex']
    x = ['xiaoming', '11', 'boy']
    y = ['xiaohong', '11', 'girl']
    z = ['xiaojun', '12', 'boy']
    list2 = []
    dict3 = dict(zip(a, x))
    dict4 = dict(zip(a, y))
    dict5 = dict(zip(a, z))
    dict3['name'] = '小明'  # 修改字典
    print("%(name)s, %(age)s, %(sex).5s" % (dict3))  # 字典格式化输出
    list2.append(dict3)
    list2.append(dict4)
    list2.append(dict5)
    print(list2)
    # 创建字典
    dict6 = dict.fromkeys(a, x)
    j = 0
    for i in dict6.keys():
        dict6[i] = x[j]
        j += 1
    print(dict6)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值