python 学习日记 —— dict 字典的用法

什么是字典

什么是字典?

  • 字典是 python 中的一个键(key)值(value)映射的数据结构;
  • 字典是无序的;
  • 字典是可变对象
  • 字典的 key 必须是唯一的;
  • 字典的定义:
    • 字典通过花括号中用 key/value 对用冒号分隔,而每个对用逗号进行分隔;
    • 字典的 key 必须是可 hash 对象;
    • python 中所有字符串、数字、元组、bool 值、None 都是可 hash 对象;
    • 字典的 value 可以是任何值
 - 定义空字典
dict0 = {}
dict0 = dict()
 - 定义字典
dict1 = {key1:value, key2:value}
 - 正式定义 dict
dict2 = {'主角':'萧瑟仙贝''狂气大小姐':'maybe','小恶魔学妹':'xinq','三无二小姐':'fy','天才同级生':'ana','青梅竹马':'inflame'}

字典基本操作

  • 查看
 - 用法1 dicts[key] => 当key不存在时,会引发 KeyError 错误
# 查看 dict2['主角']
dict2 = {'主角':'萧瑟仙贝''狂气大小姐':'maybe','小恶魔学妹':'xinq','三无二小姐':'fy','天才同级生':'ana','青梅竹马':'inflame'}
print(dict2['主角'])
# 输出 :萧瑟仙贝
 - 用法2 dicts.get(key, '如果不存在就返回这个字符串') => 当key不存在的时候就会返回后面设置的参数
dict2 = {'主角':'萧瑟仙贝''狂气大小姐':'maybe','小恶魔学妹':'xinq','三无二小姐':'fy','天才同级生':'ana','青梅竹马':'inflame'}
print(dict2.get('ameame'), '找不到就请去找萧瑟仙贝')
# 输出 :找不到就请找萧瑟仙贝
  • 新增/修改
 - dicts[key] = value
 - 当 key 不存在时新增键值对
 - 当 key 存在时,修改对应的 value 值
dict2 = {'主角':'萧瑟仙贝''狂气大小姐':'maybe','小恶魔学妹':'xinq','三无二小姐':'fy','天才同级生':'ana','青梅竹马':'inflame'}
dict2['主角'] = '萧瑟仙贝ame仙贝!'
print(dict2)
# 输出 - {'主角':'萧瑟仙贝ame仙贝!', '狂气大小姐':'maybe','小恶魔学妹':'xinq','三无二小姐':'fy','天才同级生':'ana','青梅竹马':'inflame'}
dict2['长发学妹'] = 'y`'
print(dict2)
# 输出 - {'主角':'萧瑟仙贝ame仙贝!', '狂气大小姐':'maybe','小恶魔学妹':'xinq','三无二小姐':'fy','天才同级生':'ana','青梅竹马':'inflame', '长发学妹':'y`'}
  • 删除
 - 用法1 dicts.pop(key)
dict2 = {'主角':'萧瑟仙贝', '狂气大小姐':'maybe','小恶魔学妹':'xinq','三无二小姐':'fy','天才同级生':'ana','青梅竹马':'inflame'}
dict2.pop('狂气大小姐')
# pop 方法会返回删除的 value 'maybe'
print(dict2)
# {'主角': '萧瑟仙贝', '小恶魔学妹': 'xinq', '三无二小姐': 'fy', '天才同级生': 'ana', '青梅竹马': 'inflame'}
 - 用法2 dicts.popitem()
 - 会默认删除最后一组 key/value 对
dict2.popitem()
# ('青梅竹马', 'inflame')
print(dict2)
# {'主角': '萧瑟仙贝', '小恶魔学妹': 'xinq', '三无二小姐': 'fy', '天才同级生': 'ana'}
  • 合并字典
 - dict1.update(dict2) => dict2 合并到 dict1
dict1 = {1:'a', 2:'b'}
dict2 = {3:'c', 4:'d'}
dict1.update(dict2)
print(dict1)
# {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
 - 方法2 dict(dict1, **dict2)
dict1 = {'a':'1','b':'2'}
dict2 = {'c':'3','d':'4'}
print(dict(dict1,**dict2))
# {'a': '1', 'b': '2', 'c': '3', 'd': '4'}
  • 遍历
dict2 = {'主角':'萧瑟仙贝', '狂气大小姐':'maybe','小恶魔学妹':'xinq','三无二小姐':'fy','天才同级生':'ana','青梅竹马':'inflame'}
for temp in dict2:
	print(temp)

#### 输出结果	这里得到的都是 key 值
主角
狂气大小姐
小恶魔学妹
三无二小姐
天才同级生
青梅竹马

 - 遍历 key 值
print(dict2.keys())
# dict_keys(['主角', '狂气大小姐', '小恶魔学妹', '三无二小姐', '天才同级生', '青梅竹马'])
for temp in dict2.keys():
	print(temp)

	
主角
狂气大小姐
小恶魔学妹
三无二小姐
天才同级生
青梅竹马

# 遍历 value 值
print(dict2.values())
# dict_values(['萧瑟仙贝', 'maybe', 'xinq', 'fy', 'ana', 'inflame'])
for temp in dict2.values():
	print(temp)


萧瑟仙贝
maybe
xinq
fy
ana
inflame

这次的内容到这里就结束了,如果感兴趣欢迎来访 三创

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wx-zhou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值