章节
问答
课签
笔记
评论
占位
占位

Python添加dict元素

dict和tuple不一样,dict是可变的,我们随时可以往dict中添加新的key-value,比如对于上节课的成绩dict:

d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49
}

需要往里面添加Dodo、Mimi的成绩时,可以使用赋值语句往里面添加元素:

d['Mimi'] = 72
d['Dodo'] = 88
print(d)

实际上,value可以是任意类型的元素,可以是list、tuple等,假如Mimi近两次成绩分别是72,73,Dodo近两次的成绩分别是88,90,则可以使用赋值语句往dict中添加list元素。

d['Mimi'] = [72, 73]
d['Dodo'] = [88, 90]
print(d)

此后,如果Mimi、Dodo的第三次成绩也出来了,分别是75,90,则可以先通过key把对应的value查询出来,然后再往类型是list的value中添加第三次的成绩。

d['Mimi'].append(75)
d['Dodo'].append(90)
print(d)

任务

已有同学的某次成绩dict如下:

d = {
    'Alice': [45],
    'Bob': [60],
    'Candy': [75],
}

Alice、Bob、Candy的最近三次的成绩分别是[50, 61, 66],[80, 61, 66],[88, 75, 90],请更新dict,使得dict可以保存同学多次的成绩。

?不会了怎么办

参考答案:

d = dict()
d['Alice'] = []
d['Bob'] = []
d['Candy'] = []
d['Alice'].append(50)
d['Alice'].append(61)
d['Alice'].append(66)
d['Bob'].append(80)
d['Bob'].append(61)
d['Bob'].append(66)
d['Candy'].append(88)
d['Candy'].append(75)
d['Candy'].append(90)
||
1
2
# Enter a code
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最赞回答 / Chewer
因为字典的输出是无序的

已采纳回答 / 幕布斯8123072
第一行:定义变量d为初始dict对象,即:d={}第二行:往d里面添加一个数据,结果为d={'Alice':[]}第三行:往d里面添加一个数据,结果为d={'Alice':[], 'Bob':[]}第四行:往d里面添加一个数据,结果为d={'Alice':[], 'Bob':[], 'Candy'=[]}

最新回答 / 陈菲林
嗯。。。这只是一种写法而已,还有其他的写法,只要实现了题目要求就行我觉得他给出参考答案的是面对新手的,条理清晰 新手容易比较看懂:先定义一个空的dict,然后向其中添加了三个空的list,最后分别给这三个list里添加对应的元素值是一步一步递进的,当然你也可以一次定义完成,但相对来说这种一步一步走的我感觉更适合新手看下载视频          

最新回答 / 吕郭飞
可以,加不加都行,不加了最好,代码规范

最赞回答 / qq_慕婉清6326688
d = {'Alice': [45],'Bob': [60],'Candy': [75]}l = ([50, 61, 66],[80, 61, 66],[88, 75, 90])n = ['Alice','Bob','Candy']num = 0for x in n: for z in l[num]: d[x].append(z) num += 1print(d)
{'Alice': [45, 50, 61, 66], 'Bob': [60, 80, 61, 66], 'Can...

最新回答 / 露露9477287
可以用extend()<...code...>下载视频          

最新回答 / qq_慕数据4253394
'字典内的key、value元素是无下标的但是value如果是list,那么list是有下标的',比如:d={alix:[1,2,3,4],bob:[2,3,4,5]}想要拿到alix的value第二个值,则可以d['alix][1]。如果要把value遍历出来,则字典内的value是有序的。

已采纳回答 / 慕后端4297166
d = {    'Alice': [45],    'Bob': [60],    'Candy': [75],}a=[50,61,60]b=[80,61,66]c=[88,75,90]for i in a:   d['Alice'].append(i)for i in b:   d['Bob'].append(i)for i in c:   d['Candy'].append(i)print(d)

最新回答 / Peter_Ding
d=dict()的意思是生成一个名称为d的空字典。

最赞回答 / 幕布斯9306137
您这边没有一个添的动作, 'Alice'的45分 没了,您这边是替换思路题目问的是添加记录

最赞回答 / 慕设计5159846
这个样子答案肯定不对,这是用后面的key和value替换了原来的key和value,而且结果还缺了三个同学第一次的成绩。

最新回答 / timworld
 d[keys[i]].append(l[i]) 换成d[keys[i]] += l[i]

已采纳回答 / 慕丝2183675
3.6以后的版本顺序才是对的。。之前的版本dict是不按顺序的
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言