python基础-字典

1. 定义

字典是另一种可变对象,类似于我们生活中使用的字典,它可以存储任意类型对象,
与列表不同的是,字典的每个元素都是由一个键和一个值组成的“键值对”,键和值通过冒号分开。

  • {} 中包含 “键:值” 对,任意对象的无序集合,不是序列(不支持分片、排序等)
  • 通过键存取、可变长度、异构、支持嵌套,常用于实现稀疏的数据结构

2. 索引

  • 通过键进行索引一个字典,是Python中编写搜索的最快方法
scores = {'jzy': 93, '周杰伦': 79, '狄仁杰': 82}
    
# 通过键可以获取字典中对应的值
print(scores['jzy'])   
print(scores['狄仁杰'])

输出结果:

 93
79

3. 内置运算

  • len(获取长度,“键:值”对个数)、
  • dict(将一组键值对映射转换为字典)、
  • in测试(查看键是否存在)
scores = {'jzy': 93, '周杰伦': 79, '狄仁杰': 82}

print(len(scores))
print(dict(jzy=93,wl=92,ly=90))
print('周杰伦' in scores)

输出结果:

3
{'ly': 90, 'wl': 92, 'jzy': 93}
True

4. 字典的函数方法

scores = {'jzy': 93, '周杰伦': 79, '狄仁杰': 82}

# pop(移除指定键的键值对,返回键的值)
a=scores.pop('jzy')
print(a) 
# 93 

# update(合并)
# 相同键的键值被覆盖
nameAge=dict(jzy=93,wl=92,ly=90)
scores.update(nameAge)
print(scores)  
# {'周杰伦': 79, 'ly': 90, '狄仁杰': 82, 'wl': 92, 'jzy': 93} 

# copy(复制当前字典)
copy=nameAge.copy()
print(copy) 
# {'ly': 90, 'wl': 92, 'jzy': 93}

# fromkeys(以指定键集合生成新字典)
# 默认值为None,且不改变当前字典
# 返回新的字典
b=nameAge.fromkeys(scores,10)
print(nameAge)
# {'wl': 92, 'ly': 90, 'jzy': 93}
print(scores)
# {'周杰伦': 79, '狄仁杰': 82, 'jzy': 93, 'ly': 90, 'wl': 92}
print(b)
# {'周杰伦': 10, '狄仁杰': 10, 'wl': 10, 'ly': 10, 'jzy': 10}

# clear(清空)
scores.clear()
print(scores)
# {}

5. 键、值获取

  • keys(获取键列表)、
  • values(获取值列表)、
  • items(获取键值对列表)、
  • get(获取指定键的值)
scores = {'jzy': 93, '周杰伦': 79, '狄仁杰': 82}

# keys(获取键列表)
# 需转换成list,才能获取值
a=scores.keys()
print(list(a)[1])
# 狄仁杰

# values(获取值列表)
# 需转换成list,才能获取值
b=scores.values()
print(list(b))
# [79, 82, 93]

# items(获取键值对列表)
# 返回可遍历的(键, 值) 元组数组
c=scores.items()
print(list(c))
# [('周杰伦', 79), ('狄仁杰', 82), ('jzy', 93)]

# get(获取指定键的值)
d=scores.get('jzy')
print(d) 
# 93

总结

  1. python 的数据类型中字典与web中JSON格式很类似,两者之间可以通过函数转化。由于web应用的发展,字典这一类型应用十分广泛,应该重点掌握。
  2. 字典是可变对象,可以赋值的方式改变值,但字典中的键都是唯一的。
  3. 在网络爬虫分析中及Django开发web界面,会大量使用到字典。
微信关注.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 18,902评论 17 410
  • 数据结构 :映射 mapping A mapping object maps hashable values to...
    彼岸的渔夫阅读 245评论 0 0
  • 1.字典(dict) 一.字典是容器类型(序列 ),以键值对作为元素。字典里面存的数据全是以键值对的形式出现的b/...
    nothingpy阅读 582评论 0 3
  • “白子画,我以神的名义诅咒你:此生此世,永生永世,不老不死,不伤不灭!”“白子画,今生我从未后悔过,若能重新来过,...
    若水寒阅读 400评论 0 0
  • “请问你来自哪里?” “你上班上学的时候是骑马或者骑骆驼吗?” “你们那个地方到底在哪个省?” “在中国的什么位置...
    joy快乐开心阅读 184评论 0 0