python如何将列表中的元素添加进字典

python如何将列表中的元素添加进字典,第1张

字典是一种hash表,即有key,和key键对应下的value

比如说我要初始化一个字典

phonebook={'Alice':'3241','Beth':'9274','Ceil':'3258'}

这样这本字典就有三对项,分别有键(key)和对应的值(value)组成

比如这里Alice,Beth,Ceil都是key

对应的value则分别为3241,9274,3258

key和value之间用冒号(:)隔开,项之间用逗号(,)隔开,整个字典由一对大括号括起来。

比如你要查询beth的电话号码,就可以用这条语句:

print phonebook['Beth']

结果则为9274

现在对字典的基本概念熟悉了吧?!

然后回答下你这个问题。

你要把列表中的元素添加到字典中,那么必须提供key值或value来和d中的{'a','b','c'}对应。

一楼就是其中一个解法,不过有些瑕疵,正确的应该是:

a=dict(zip(d, ['']*3))

a的值即为{'a':'', 'b':'', 'c':''}

此时列表中的元素a,b,c作为key,value的值我们暂定为空

答案:将list加入到dictionary方法如下:

#方法1

listkey=list("abcde")#key

listvalue=list("12345")#value

dicta=dict(zip(listkey,listvalue))#dict

print(dicta)#返回{'a': '1', 'b': '2', 'c': '3', 'd': '4', 'e': '5'}

#方法2

listkey=['a', 'b', 'c', 'd', 'e']

listvalue=['1', '2', '3', '4', '5']

dicta={key:value for key,value in zip(listkey,listvalue)}

print(dicta)#返回{'a': '1', 'b': '2', 'c': '3', 'd': '4', 'e': '5'}

在很多的python库之中,我们可以看到有的时候,库作者会使用一些很特殊的“列表”或者“字典”。虽然他们看起来很像是一个列表或者字典,但是使用的方法却又不一样,这是因为那不是真的python中原本的列表和字典,而是作者自己创建的。那么,我们如何可以创建我们自己的列表和字典呢?

前后都使用两个下划线的方法,一般被称之为魔法方法,比如我们常见的 init ,就是一种魔法方法。一般来说,我们自行定义变量名的时候,不要定义很像是魔法方法的变量名。魔法方法被定义后,可以在适当的时候自动被调用,一般不需要手动对其进行调用。

在python中,实现一个序列,我们需要以下四种魔法方法

另外,一般来说,错误的键应当引发TypeError异常,而错误的索引应当引发IndexError异常

在python的列表中,只能够使用数字作为索引,如果使用字符串的数字的话,那么会引发异常。因此,我们可以尝试一下,对原始的列表进行扩充,使其可以接受字符串作为列表的索引。

注意,这样的自建列表,存在很多问题,几乎全部的关于列表的方法都不能再被使用了。

为了解决正常列表的方法不能再被使用,我们可以考虑直接继承list,以此得到普通列表的所有方法。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11751670.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存