Python中dict字典的使用

Python字典包含了以下内置方法:

  1. dict.clear():删除字典内所有元素
  2. dict.copy():返回一个字典的浅复制
  3. dict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
  4. dict.get(key, default=None):返回指定键的值,如果键不在字典中返回 default 设置的默认值
  5. key in dict:如果键在字典dict里返回true,否则返回false
  6. dict.items():以列表返回一个视图对象
  7. dict.keys():返回一个视图对象
  8. dict.setdefault(key, default=None):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
  9. dict.update(dict2):把字典dict2的键/值对更新到dict里
  10. dict.values():返回一个视图对象
  11. pop(key[,default]):删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
  12. popitem():随机返回并删除字典中的最后一对键和值。

代码案例:

# 创建字典
dict1 = {'name': 'xiaoming', 'age': 18, 'sex': True, 'floor': 18}
print(dict1)

list1 = ["name", 1, 3.14, True, 1 + 2j, (1, 2, 3)]
list2 = [1, 2, 3, 4, 5, 6]

dict2 = dict([(1, 2), (2, 3), (3, 4)])
print(dict2)

dict3 = dict([(list1[i], list2[i]) for i in range(0, 6)])
print(dict3)
# 增
dict3['age'] = 18
print(dict3)
# 删
del dict3[True]
print(dict3)
# 改
dict3['age'] = 19
print(dict3)
# 查
print(dict3['age'])

dict4 = dict3.copy()
print(dict4)

CHINAESE = 0
MATH = 1
ENGLISH = 2
dict5 = {'zs': (88, 96, 97), 'ls': 85}
print(dict5['zs'][MATH])

# 遍历
for key in dict5:
    print(key)
for key in dict5:
    print(dict5[key])

dict6 = {1: 2, 3: 4, 5: 6}
print(dict6)

# 浅拷贝
dict7 = dict6.copy()
# dict7 = dict6
dict7[5] = 666
print(dict7)

# 通过key的迭代,构建新的字典,静态方法
dict8 = {}
tuple1 = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
dict8 = dict.fromkeys(tuple1)
print(dict8)
dict8 = dict.fromkeys(tuple1, 0)
print(dict8)

# 查找和查看
print(dict6.get(1))  # 通过key获取值
print(dict6.items())  # 获取键值对
print(dict6.keys())  # 获取key
print(dict6.values())  # 获取值

# 删除
dict6.pop(3)  # 根据key删除键值对
print(dict6)
res = dict6.popitem()  # 删除最后一个键值对,并返回
print(dict6, res)

# 增加
dict6.setdefault(3, 4)  # 添加一个键值对
print(dict6)

dict6.update(dict1)  # 将dict1添加到dict6
print(dict6)

# 清空字典
dict6.clear()
print(dict6)

运行结果:

{‘name’: ‘xiaoming’, ‘age’: 18, ‘sex’: True, ‘floor’: 18}
{1: 2, 2: 3, 3: 4}
{‘name’: 1, 1: 4, 3.14: 3, (1+2j): 5, (1, 2, 3): 6}
{‘name’: 1, 1: 4, 3.14: 3, (1+2j): 5, (1, 2, 3): 6, ‘age’: 18}
{‘name’: 1, 3.14: 3, (1+2j): 5, (1, 2, 3): 6, ‘age’: 18}
{‘name’: 1, 3.14: 3, (1+2j): 5, (1, 2, 3): 6, ‘age’: 19}
19
{‘name’: 1, 3.14: 3, (1+2j): 5, (1, 2, 3): 6, ‘age’: 19}
96
zs
ls
(88, 96, 97)
85
{1: 2, 3: 4, 5: 6}
{1: 2, 3: 4, 5: 666}
{1: None, 2: None, 3: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: None, 10: None}
{1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 10: 0}
2
dict_items([(1, 2), (3, 4), (5, 6)])
dict_keys([1, 3, 5])
dict_values([2, 4, 6])
{1: 2, 5: 6}
{1: 2} (5, 6)
{1: 2, 3: 4}
{1: 2, 3: 4, ‘name’: ‘xiaoming’, ‘age’: 18, ‘sex’: True, ‘floor’: 18}
{}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

写bug如流水

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

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

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

打赏作者

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

抵扣说明:

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

余额充值