- 在线时间
- 479 小时
- 最后登录
- 2026-4-17
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7790 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2923
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1171
- 主题
- 1186
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
字典:储存一种键值对的结构。
, }% R+ f# G( x, X' v3 j6 t2 H8 n3 T/ s+ i
键值对:计算机的非常非常的重要的一种概念。
' G/ T: _8 y* s8 A/ r$ E
, }/ b: y5 o6 V8 {0 K键(key)值(value) 根据键key可以快速找到value(本质其实是一种映射的关系)5 J/ |( H8 T3 l- i8 P6 U2 g5 m
7 e P( y& i- w) N' v0 q
在Python的字典中可以同时包含很多键值对,但要求这些键不能重复。键值对形式{key:value , key:value…}字典中的key和value的类型不一定都一样,字典对于key是什么类型有约束,但对于value是什么类型无约束.一般没写一行,因为不直观,一般写成这样多行更直观,最后一个键值对的逗号可有可无。 & g) s) \2 W8 T/ e0 N. G' C
4 m/ Z, Q* ^8 D( \9 ]/ i在字典中查找有两种方式:1.可以用in来判断某个key是否在字典中存在 2.使用这个[]来根据key来获取value/ X1 L; l o3 [& y) B3 x
) N7 Q8 q6 {; |" f) l
对于字典来说使用in或者[]来获取value都是非常高效的.
9 O' B2 }1 [5 w: v* B1 I7 N3 J9 y6 L# ]- ^
对于列表来说用in比较低效因为要全部遍历,而使用[]是比较高效的.
6 K, t0 L; \& |; `0 q2 y) ?0 y; k
在字典中新增键值对的方式:在字典中新增元素用[]来进行,例:对象[key]=value. 如果key不存在往里写,相当于新增键值对,如果key存在往里写,相当于根据key修改value.
; D8 k' P- m9 q2 J" K3 Y
9 v* y2 @( A6 a' l删除:使用pop方法,根据key来删除键值对,对字典的各种操作都是围绕key来进行的.
( }4 @5 B2 L) H/ b- D7 M+ _0 h6 Q5 r6 n$ I# T
字典被设计出的初衷不是为了遍历,而是为了增删查改,时间复杂度O(1),增删查改都是固定时间,不会因为元素多了而操作就慢了。
6 u. F8 H( Z& ?+ P, @
5 A2 g9 _0 D# s* |( {' u) \# G% \字典是哈希表进行增删查改操作的效率非常高,而字典的遍历则效率差一些。2 V2 X+ K1 h1 U3 |6 _+ o
$ e4 T1 F: e6 m- c( I {/ u T遍历:1.用for循环,来遍历字典.在Python中能够保证遍历的顺序和插入的顺序保持一致% F% H0 ^0 d+ c
9 ?+ E. a) h5 i! n" W3 m% R( B2.使用keys()、values()、items()(分别表示所有的key,所有的value,所有的键值对)3 n3 T& M1 A) z4 f8 A( X
! G9 R. [5 o j' wkey类型的约束:不是所有类型都可以作为字典的key,因为字典本质为哈希表而表中key要求可哈希的,也就是可以计算出一个哈希值,刚好Python有一个内联函数哈希hash可以计算函数哈希值,注意字典dict和列表list是不可哈希的.
/ h) Z2 C' D8 C7 M4 i: r/ F
+ m3 ]# q$ | c% n, \" V6 W% L字典和列表、元组是Python当中非常常见的内置类型,相比于int string float,它们内部可以包含很多元素,所以被称之为"容器和集合类"
4 y8 B1 T6 d3 V1 `———————————————— f5 w, d9 I! T' W( }+ U
. q+ @$ k [; H 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
. f/ ^- i" ^' p; I- y; b ]% q" }0 V) P7 Q
原文链接:https://blog.csdn.net/2301_81874719/article/details/138212331: \/ o! c% ?/ l
. O4 C g! I2 o; R3 T, c! x( b; t- A0 @, R+ B3 ~9 L. L% O
|
zan
|