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

什么是dict

我们已经知道,List 和 tuple 可以用来表示顺序集合,例如,班里同学的名字:

['Alice', 'Bob', 'Candy', 'David', 'Ellena'] # List
('Alice', 'Bob', 'Candy', 'David', 'Ellena') # tuple

或者考试的成绩:

[45, 60, 75, 86, 49] # list
(45, 60, 75, 86, 49) # tuple

如果同学名字的列表和同学成绩的列表是一一对应的,那么通过下标,我们也可以找到每个同学的成绩。

names = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
scores = [45, 60, 75, 86, 49]
index = 0
for name in names:
    score = scores[index]
    print('name = {}, score = {}'.format(name, score))
    index = index + 1

事实上,我们可以得到这样的映射。

'Alice' ==> 45
'Bob' ==> 60
'Candy' ==> 75
'David' ==> 86
'Ellena' ==> 49

但是使用两个list,始终有些麻烦的,尤其是需要变换一个列表的顺序后,另外一个列表也需要做同样的变换,否则就可能出现对应不上的问题。
python的dict就是专门保存这种映射的,使用dict可以方便的保存“名字”->“成绩”的映射。
在dict中,每一项包含一个key和一个value,key和value是一一对应的,在解决上面的问题中,我们可以使用名字作为key,成绩作为value,那么dict的定义如下:

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

在定义里,我们使用花括号{}表示这是一个dict,然后key和value之间使用冒号:分割,并且每一组key:value的最后,以逗号,表示这一组的结束。
我们也可以使用以下的方式定义一个dict。

d = dict()
print(d) # ==> {}

不过这种定义方式,默认得到的是一个空dict,需要调用函数往里面添加数据,我们后面会继续学习。

任务

新来的Gaven同学成绩是86,请编写一个dict,把Gaven同学的成绩也加进去。

d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49
}
?不会了怎么办

参考答案:

d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49,
    'Gaven': 86
}
||
1
2
# Enter a code
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

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

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

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

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

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

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

举报

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

最新回答 / 翎栋
7-1答案,你这不是已经写了么新来的Gaven同学成绩是86,请编写一个dict,把Gaven同学的成绩也加进去。<...code...>
d = {    'Alice': 45,    'Bob': 60,    'Candy': 75,    'David': 86,    'Ellena': 49}

d['Gaven'] = 86
print(d)

最新回答 / Ra3865768
字典没有insert方法,可以通过直接增加键值对的方式向字典中插入元素

最新回答 / 慕斯卡3227948
字典中的元素顺序不固定,不像列表或数组那样按照索引顺序排列。

最赞回答 / 慕用2085562
#这是for循环将names中的值逐个赋给namefor name in names: #将scores中第index-1个的值取出来存入scorescore = scores[index] #把format函数中的值按先后顺序放入{}中print('name = {}, score = {}'.format(name, score)) #自增index = index + 1

最新回答 / weixin_慕慕3548851
字典是一种数据结构,用于存储数据以键值对的形式。每个键(key)都与一个特定的值(value)相关联。这使得你可以通过键来快速查找和检索相关联的值。字典在各种编程语言中都有不同的实现,通常被称为关联数组、哈希表或映射。以下是字典的一些基本特征和用途:1. 键值对:字典包含多个键值对,每个键唯一地标识一个值。这意味着每个键在字典中只能出现一次。2. 高效查找:字典的设计使得通过键来查找值非常高效,通常在常数时间复杂度内完成,因此适用于大规模数据的快速检索。3. 无序性:大多数编程语言中的字典是无序的,这意味...

已采纳回答 / 半勺暖阳
d = {    'Alice': 45,    'Bob': 60,    'Candy': 75,    'David': 86,    'Ellena': 49}d['Gaven'] = 86print(d)不要着急,后面有教哦

已采纳回答 / longryzhou
scores[0]的值是45,scores[1]的值是60,scores[2]的值是75,scores[3]的值是86,scores[4]的值是49,index初始是0,第一次运行后是1,第二次是2,第三次是3,所以scores[Index]里面的Index是0就是scores[0],Index是1就是scores[1]。。。

最新回答 / weixin_慕先生3329730
1 #!/usr/bin/python2 #coding:utf-83 print "你好吗"

最赞回答 / weixin_慕斯卡5393785
在Python3.5之前,dict中的元素是无序的,也就是dict中元素的插入顺序和打印顺序未必一致,比如使用Python3.5之前的版本执行以下代码:
d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
  ...

最赞回答 / 白小九
print('{0}: {1}'.format(name, score))
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言