python3字典详解_python3 字典的常用 方法

首先注意,字典的键 必须是 不可变类型数据。字典是无序的。

但是,从3.6开始字典都是有序的,并且从3.7开始这成了正式的Python语言特性。

1. update

更新字典键值对。

a = {"a": 100}

a.update({'b': 222})

print(a) # {'a': 100, 'b': 222}

1. clear

删除 字典中所有 键值对

In [1]: test_dict = {'a':1,'b':2}

In [2]: test_dict.clear()

In [3]: test_dict

Out[3]: {}

2. keys

返回一个包含字典所有键的列表. 在python3中,返回值为一个可迭代对象,可以用list,把它转换成一个列表。

In [1]: test_dict = {'a':1,'b':2,'c':3}

In [2]: k = test_dict.keys()

In [3]: k

Out[3]: dict_keys(['c', 'a', 'b'])

In [4]: list(k)

Out[4]: ['c', 'a', 'b']

3. values

返回一个包含字典所有value的列表。在python3中,返回值为一个可迭代对象,可以用list,把它转换成一个列表。

In [1]: test_dict = {'a':1,'b':2,'c':3}

In [2]: v = test_dict.values()

In [3]: v

Out[3]: dict_values([3, 1, 2])

In [4]: list(v)

Out[4]: [3, 1, 2]

4. items

返回一个包含所有键值对元祖的列表。在python3中,返回值为一个可迭代对象,可以用list,把它转换成一个列表。

In [1]: test_dict = {'a':1,'b':2,'c':3}

In [2]: it = test_dict.items()

In [3]: it

Out[3]: dict_items([('c', 3), ('a', 1), ('b', 2)])

In [4]: list(it)

Out[4]: [('c', 3), ('a', 1), ('b', 2)]

5. pop

删除指定键所对应的值,返回这个值并从字典中把它移除. 如果键不存在,会 抛出异常。

In [1]: test_dict.pop('d')

Out[1]: 'haha'

In [2]: test_dict

Out[2]: {'c': 3, 'a': 1, 'b': 2}

6. setdefault

此方法有两个参数:

第一个参数:查找的键

第二个参数:键不存在时,设置的默认键值。

如果键存在,则返回这个键的值。

如果键不存在,则返回这个键,设置的默认值。然后把键值对加入到原来的字典中。

键存在:

In [1]: test_dict = {'a':1,'b':2,'c':3}

In [2]: test_dict.setdefault('a','haha')

Out[2]: 1

键不存在:

In [1]: test_dict = {'a':1,'b':2,'c':3}

In [2]: test_dict.setdefault('d','haha') 注意:如果不设置默认值,默认值会被自动设置成None.

Out[2]: 'haha'

In [3]: test_dict

Out[3]: {'c': 3, 'a': 1, 'b': 2, 'd': 'haha'}

7. get

和setdefault用法一样,不同的是:

当键不存在时,返回这个键,设置的默认值,并不会 把键值对加入到原来的字典中。

8. 带默认值的 类字典对象 - defaultdict

首先使用之前需要导入:

from collections import defaultdict

基本使用:

In [2]: d = defaultdict(list)

In [3]: d['a'] # 当我们去访问一个不存在的 键 的时候,会自动把这个 键 添加到字典里,然后设置一个默认值[]

Out[3]: [] # 注意:只有 通过 d['a'] 或者 d.__getitem__('a') 这两种方式 访问 键,才会设置默认值。其他情况下会抛KeyError异常。

In [4]: d['a'].append(1)

In [5]: d['a'].append(2)

In [6]: dict(d)

Out[6]: {'a': [1, 2]}

d 是一个 defaultdict对象,参数必须是 可调用的或者None。参数调用之后返回值 就是字典键的默认值。上例中,默认值 是一个空列表。如果参数是None,那么这个字典对象就没有默认值了,那你还不如直接去用普通的字典。

默认值 设置为 0

In [7]: def zero():

...: return 0

...:

In [8]: d = defaultdict(zero)

In [9]: d['a']

Out[9]: 0

In [10]: d['b']

Out[10]: 0

In [11]: dict(d)

Out[11]: {'b': 0, 'a': 0}

9. 判断键 是否在 字典中存在,请使用 in 关键字

10. 判断字典 键值对个数,请使用 len 函数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值