我们知道python中字典是无序的,它们都是通过hash去对应的。一般的如果我们需要修改字典的值,只需要直接覆盖即可,而修改字典的键,则需要使用字典自带的pop函数,示例如下:
t = {} t['a'] = 1 t['b'] = 2 # 修改字典的值 print('未修改前:', t) t['b'] = 3 print('修改后: ', t) # 修改字典的键 print('-' * 30) print('未修改前:', t) t['c'] = t.pop('a') print('修改后: ', t) """ 输出如下: 未修改前: {'a': 1, 'b': 2} 修改后: {'a': 1, 'b': 3} ------------------------------ 未修改前: {'a': 1, 'b': 3} 修改后: {'b': 3, 'c': 1} """
Python dict字典基本操作(包括添加、修改、删除键值对)
由于字典属于可变序列,所以我们可以任意操作字典中的键值对(key-value 对)。Python 中,常见的字典操作有以下几种:
1.向现有字典中添加新的键值对。
2.修改现有字典中的键值对。
3.从现有字典中删除指定的键值对。
4.判断现有字典中是否存在指定的键值对。
初学者要牢记,字典中常常包含多个键值对,而 key 是字典的关键数据,字典的基本操作都是围绕 key 值实现的。
Python字典添加键值对
如果要为 dict 添加键值对,只需为不存在的 key 赋值即可。实现此操作的语法格式如下:
dict[key] = value
此格式中,各个参数的含义如表 1 所示。
表 1 Python 字典添加键值对语法参数
例如,下面代码演示了在现有字典 a 的基础上,添加新元素的过程:
a = {'数学':95} print(a) #添加新键值对 a['语文'] = 89 print(a) #再次添加新键值对 a['英语'] = 90 print(a)
运行结果为:
{'数学': 95}
{'数学': 95, '语文': 89}
{'数学': 95, '语文': 89, '英语': 90}
Python字典修改键值对
“修改键值对”并不是同时修改某一键值对的键和值,而只是修改某一键值对中的值。
由于在字典中,各元素的键必须是唯一的,因此,如果新添加元素的键与已存在元素的键相同,原来键所对应的值就会被新的值替换掉。例如:
a = {'数学': 95, '语文': 89, '英语': 90} a['语文']=100 print(a)
运行结果为:
{'数学': 95, '语文': 100, '英语': 90}
可以看到,字典中没有再添加一个 {'语文':100} 键值对,而是对原有键值对 {'语文': 89} 中的值做了修改。
Python字典删除键值对
如果要删除字典中的键值对,还是可以使用 del 语句。例如:
# 使用del语句删除键值对 a = {'数学': 95, '语文': 89, '英语': 90} del a['语文'] del a['数学'] print(a)
运行结果为:
{'英语': 90}
判断字典中是否存在指定键值对
如果要判断字典中是否存在指定键值对,首先应判断字典中是否有对应的键。判断字典是否包含指定键值对的键,可以使用 in 或 not in 运算符。
需要指出的是,对于 dict 而言,in 或 not in 运算符都是基于 key 来判断的。
例如如下代码:
a = {'数学': 95, '语文': 89, '英语': 90} # 判断 a 中是否包含名为'数学'的key print('数学' in a) # True # 判断 a 是否包含名为'物理'的key print('物理' in a) # False
运行结果为:
True
False
通过 in(或 not in)运算符,我们可以很轻易地判断出现有字典中是否包含某个键,如果存在,由于通过键可以很轻易的获取对应的值,因此很容易就能判断出字典中是否有指定的键值对。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】