字典:储存一种键值对的结构。! K" L- Z- n: E' T0 d `
6 S) L+ T" Y r& M) J7 o/ }
键值对:计算机的非常非常的重要的一种概念。+ N% b+ `3 y# S$ m$ G& @
3 U( Z/ V) m/ j& D8 |: V
键(key)值(value) 根据键key可以快速找到value(本质其实是一种映射的关系)% I8 p0 W5 K f: R+ m* m
6 \8 e3 \' m, _9 I! X7 O1 R在Python的字典中可以同时包含很多键值对,但要求这些键不能重复。键值对形式{key:value , key:value…}字典中的key和value的类型不一定都一样,字典对于key是什么类型有约束,但对于value是什么类型无约束.一般没写一行,因为不直观,一般写成这样多行更直观,最后一个键值对的逗号可有可无。 % f* V+ F2 K# |2 b0 q4 K; e8 b1 c) K U6 M6 m. z# J
在字典中查找有两种方式:1.可以用in来判断某个key是否在字典中存在 2.使用这个[]来根据key来获取value# h N: L0 G6 R: l
6 T4 J4 c; Q! ]$ Y对于字典来说使用in或者[]来获取value都是非常高效的.5 Y# x( B1 B% D
2 Z8 c7 J" {/ s; k6 q
对于列表来说用in比较低效因为要全部遍历,而使用[]是比较高效的. 2 j( B" o% z2 z& ~, k5 ?1 R& i* Z + \5 c$ }7 _0 j5 |" ~1 H: q( Q在字典中新增键值对的方式:在字典中新增元素用[]来进行,例:对象[key]=value. 如果key不存在往里写,相当于新增键值对,如果key存在往里写,相当于根据key修改value. 6 ~3 } {9 |- d6 q4 q5 C% c7 R: w T
删除:使用pop方法,根据key来删除键值对,对字典的各种操作都是围绕key来进行的. / J9 j; d% w% u+ L7 _' e9 w+ [( i( o3 Z) _& z: n
字典被设计出的初衷不是为了遍历,而是为了增删查改,时间复杂度O(1),增删查改都是固定时间,不会因为元素多了而操作就慢了。) n+ y: Y8 F% a3 ?& n( G) d& B+ c+ t
: N/ q! Y# i$ }4 m9 a; t
字典是哈希表进行增删查改操作的效率非常高,而字典的遍历则效率差一些。 ; T5 d0 I$ L6 L" H+ g+ V ; d0 z. g Q9 R! O$ C f" h( C遍历:1.用for循环,来遍历字典.在Python中能够保证遍历的顺序和插入的顺序保持一致' d; B# R2 t D1 S
, F% c; H [" T5 b
2.使用keys()、values()、items()(分别表示所有的key,所有的value,所有的键值对)( B3 B) j: j5 {5 M
' E, @3 U2 [1 r hkey类型的约束:不是所有类型都可以作为字典的key,因为字典本质为哈希表而表中key要求可哈希的,也就是可以计算出一个哈希值,刚好Python有一个内联函数哈希hash可以计算函数哈希值,注意字典dict和列表list是不可哈希的.8 }5 z5 A w7 z* E1 G) K" T1 e
5 s9 c1 s; w( W- A' v$ ~字典和列表、元组是Python当中非常常见的内置类型,相比于int string float,它们内部可以包含很多元素,所以被称之为"容器和集合类"1 M) R, o' f3 _2 {$ A
————————————————! C5 P) U5 h6 T0 V$ l+ g0 ^9 h* d
8 v2 I( e1 J W4 [1 }) O4 F. e8 p 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 . {- ?) H+ h) X4 Y( I% ?2 O ; k0 B k" C3 x5 o' u原文链接:https://blog.csdn.net/2301_81874719/article/details/138212331# ^( j& g6 J- u! X
0 q* u: D% a5 w @: Y& c
; u' x6 k* W# i$ F' q0 [9 Z