QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2213|回复: 0
打印 上一主题 下一主题

[个人总经验] python字典方法大全

[复制链接]
字体大小: 正常 放大

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-4-26 16:23 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
字典:储存一种键值对的结构。! 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
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-6-22 18:03 , Processed in 0.275187 second(s), 51 queries .

回顶部