字典知识点

在映射类型的数据获取上,字典的效率是要远远快于列表的。

y={"吕布":”口口布“,"关羽":"关习习"}

type(y) 输出的结果为<class.dic>

y[刘备] = "刘baby"

输出的结果为a={"吕布":”口口布“,"关羽":"关习习","刘备":"刘baby"}

 另外几种表示形式

表示方法1:

b= dict([("吕布","口口布"),(“关羽”,“关习习”)])//列表元组表示法

表示方法2:

c=dict(吕布=“口口布”,关羽=“关习习”) //dict表示法

表示方法3:

d=dict({"吕布":”口口布“,"关羽":"关习习",},刘备="刘baby")//混合法

f=dict(zip([“吕布”,“关羽”,“刘备”],[“口口布”,“关习习”,“刘baby”])) //利用zip进行两个列表的结合

字典的增删改查操作如下:

d = dict.fromkeys("fish",250)

输出的结果为:{"f":250 , "i";250 , "s":250,"h":250}

改操作:

d["f"]=70

输出结果为:{"f":70 , "i";250 , "s":250,"h":250}

利用update函数进行改操作

d.update(‘f’:80,F="150")

输出结果为:{"f":80 , "i";250 , "s":250,"h":250,“F”:150}

增操作:

d["c"] = 30 //在字典中未找到“c”字符,则在字典中新增“c”字符

输出结果为:{"f":70 , "i";250 , "s":250,"h":250,"c":250}

删操作:

d.pop('s') //返回的是该字符对应的键值

del d['f']//删除d字典中的i

d.clear() //该操作会使字典变成一个空字典

d['c'] //若在字典中找不到字符‘c’则报错

为了使用户体验更佳,使用get函数

d.get("c" ,"这里没有c")

输出的值为”这里没有c“

d.setdefault('c',"code") //setdefault的作用是若在字典中查找不到字符'c',则将”code“值作为‘c’的键值,并加入到字典中。

items()函数的作用是将字典中的每一对key和value值组成元组,并将这些元组存储在一个列表中。

values()函数的作用是将字典中的每一个value值存储在一个列表中。

keys()函数的作用是将字典中的每一个key值存储在一个列表中。

得到字典中所有的values值有如下方法:

list(d.values())

得到字典中所有的keys值得方法如下:

list(d.keys()) 或者list(d)

iter函数是生成一个可迭代对象(字典、列表)的迭代器,利用next函数依次得到列表中的数据,遍历一次后销毁。

字典可以嵌套定义,用法如下:

d1 = {"吕布":{"语文":80,"数学":20,"英语":50},"关羽":{"语文":50分,"数学":30分,"英语":30分}}

d2={"吕布":[60,70,80],"刘备":[80,90,70]}

查找嵌套字典的值用法如下:

d1["吕布"]["语文"] //需要两个索引值来查找到对应的值

d2["吕布"][1]  //输出结果为20

案例:如何求出字符串的编码值。

用法如下:

d={x:ord(x) for x in "Fishc"}  //for前面的x:ord(x)表示字典的一对键值

问题一:

d={x:y for x in[1,3,5] for y in [2,4,6]}

得到的字典是

d={1:6 , 3:6 ,5:6}

解析:x=1时,y依次遍历2,4,6。所以x=1时的值一直在改变,分别是1:2 ,1:4,1:6。之后同理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值