当前位置:   article > 正文

Python 之 字典 dict 的深入浅出_dict python 移除kv

dict python 移除kv

1、字典 dict 概念介绍及初始化

1.1 概念介绍

  • key-value 键值对的数据的集合
  • 可变的、无序的、并且 key 不重复

1.2 初始化

1、 d = dict() 
2、 d = {
   }
3dict(**kwargs) 使用 name = value 对初始化一个字典
4dict(iterable, **kwargs) 使用可迭代对象和 name = value 对构造字典
	不过可迭代对象的元素必须是一个二元结构
5dict(mapping, **kwargs) 使用一个字典构造另外一个字典
6、类方法 dict.fromkeys(iterable, value)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
d1 = dict.fromkeys(range(5))
d2 = dict.fromkeys(range(5), 5)
d3 = {
   'a':10, 'b':20, 'c':None, 'd':[1, 2, 3], 'e':('1', 'a')}
d4 = dict(a=10, b=20, c=30)
d5 = dict(((1, 'a'), (2, 'b')))

for i in [d1, d2, d3, d4, d5]:
    print(i, type(i))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
{
   0: None, 1: None, 2: None, 3: None, 4: None} <class 'dict'>
{
   0: 5, 1: 5, 2: 5, 3: 5, 4: 5} <class 'dict'>
{
   'a': 10, 'b': 20, 'c': None, 'd': [1, 2, 3], 'e': ('1', 'a')} <class 'dict'>
{
   'a': 10, 'b': 20, 'c': 30} <class 'dict'>
{
   1: 'a', 2: 'b'} <class 'dict'>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

1.2.1 初始化注意事项

  • dict 输入的参数必须是一个可迭代对象,且元素必须是一个二元结构
dict1 = dict([(1, 2), ('a', 10), ('c', 100, 200)])
  • 1
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-1-c69bd69f2aa3> in <module>
----> 1 dict1 = dict([(1, 2), ('a', 10), ('c', 100, 200)])

ValueError: dictionary update sequence element #2 has length 3; 2 is required
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 使用 set 作为可迭代参数时,一定要注意,因为 set 是无序的
dict2 = dict(([1, 2], ['a', [100]], ('abc', 100), {
   'dfg', 'qwe'}))
print(dict2)
  • 1
  • 2
  • 3
{
   1: 2, 'a': [100], 'abc': 100, 'qwe': 'dfg'}
  • 1
  • 2

1.3 字典 key 说明

  • key 的要求和 set 的元素要求一致
  • set 的元素可以就是看做 key, set 可以看做是 dict 的简化版
  • hashable 可哈希才可以作为 key, 可以使用 hash() 测试

1.4 字典查找效率

在这里插入图片描述

2、字典 dict 操作

2.1 字典 dict 元素访问

1、d[key]
	1.1 返回 key 对应的值 value
	1.2 key 不存在,抛出 KeyError 异常
	
2、get(key [,default])
	1.1 返回 key 对应的值 value
	1.2 key 不存在,返回缺省值,如果没有缺省值,就返回None
	
3、setdefault(key [,default])
	1.1 返回 key 对应的值 value
	1.2 key 不存在,添加 kv 对,value 设置为缺省值,并返回缺省值,如果没有缺省值,则为 None
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
d1 = dict.fromkeys(range(5), 9)
print(1, d1)
print(2, d1.get(1), d1.get(5, 'abc'), d1.get(5))
print(3, d1[0])
print(4, d1[5])
  • 1
  • 2
  • 3
  • 4
  • 5
1 {
   0: 9, 1: 9, 2: 9, 3: 9, 4: 
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/515583
推荐阅读
相关标签
  

闽ICP备14008679号