博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Python3] 017 字典的内置方法
阅读量:5096 次
发布时间:2019-06-13

本文共 2585 字,大约阅读时间需要 8 分钟。

目录


1. Python3 中如何查看 dict() 的内置方法

  1. help(dict()) / help(dict)
  2. dir(dict()) / dir(dict)

2. 少废话,上例子

(1) 清理大师 clear()

  • 释义:删除字典中所有键值对
  • 示例:
# 例1d1 = {"one":1, "two":2, "three":3}print(d1)d1.clear()print(d1)
  • 运行结果

{'one': 1, 'two': 2, 'three': 3}

{}


(2) 拷贝君 copy()

  • 释义:返回字典的浅拷贝
  • 示例:
# 例2d2_1 = {"one":1, "two":2, "three":3}d2_2 = d2_1.copy()print("d2_1 =", d2_1)print("id(d2_1) =", id(d2_1))print("d2_2 =", d2_2)print("id(d2_2) =", id(d2_2))
  • 运行结果

d2_1 = {'one': 1, 'two': 2, 'three': 3}

id(d2_1) = 2648942750168
d2_2 = {'one': 1, 'two': 2, 'three': 3}
id(d2_2) = 2648942630160


(3) get(key, default=None)


(4) items()

  • 释义:返回由字典的键值对组成的元组格式
  • 示例:
# 例3d3 = {"one":1, "two":2, "three":3}i3 = d3.items()print(type(i3))print(i3)
  • 运行结果

<class 'dict_items'>

dict_items([('one', 1), ('two', 2), ('three', 3)])


(5) keys()

  • 释义:返回一个由字典所有的键组成的结构
  • 示例:
# 例4d4 = {"one":1, "two":2, "three":3}k4 = d4.keys()print(type(k4))print(k4)
  • 运行结果

<class 'dict_keys'>

dict_keys(['one', 'two', 'three'])


(6) pop()

  • 释义:
  1. 删除指定的键并返回相应的值
  2. 键不存在时,如果设置过返回值,则返回该值;否则,抛出异常 keyError
  • 示例:
# 例5.1d5 = {"one":1, "two":2, "three":3}p5_1 = d5.pop("one")p5_2 = d5.pop("four", 4)print(p5_1)print(p5_2)print(d5)
  • 运行结果

1

4
{'two': 2, 'three': 3}


# 例5.2d5 = {"one":1, "two":2, "three":3}p5_3 = d5.pop("ten")
  • 运行结果

KeyError……'ten'


(7) popitem()

  • 释义:
  1. 移除并返回一些(键、值)对作为2元组
  2. 如果d为空,则引发keyror。
  • 示例:
# 例6.1d6_1 = {"one":1, "two":2, "three":3}p6 = d6_1.popitem()print(p6_1)key, value = d6_1.popitem()print(key, "<-->", value)
  • 运行结果

('three', 3)

two <--> 2


# 例6.2d6_2 = {}print(d6_2.popitem())
  • 运行结果

KeyError: 'popitem(): dictionary is empty'


(8) setdefault(key, default=None)

  • 释义:
  1. 键在字典中时,则返回该键对应的值
  2. 键不在字典中时,添加一组键值对,键为传入的键值;若传入了值,则值为该值,否则,值为默认值 None
  • 示例:
# 例7d7 = {"one":1, "two":2, "three":3}print(d7.setdefault("one"))print(d7.setdefault("four"))print(d7)print(d7.setdefault("five", 5))print(d7)
  • 运行结果

1

None
{'one': 1, 'two': 2, 'three': 3, 'four': None}
5
{'one': 1, 'two': 2, 'three': 3, 'four': None, 'five': 5}


(9) update()

  • 释义:
  1. 形如 dict1.update(dict2)
  2. 把字典 dict2 的 key/value 更新到字典 dict1 里
  • 示例:
# 例8.1dict8_1 = {"one":1, "two":2, "three":3}dict8_2 = {"four":4}dict8_1.update(dict8_2)print ("new dict:", dict8_1)
  • 运行结果

new dict: {'one': 1, 'two': 2, 'three': 3, 'four': 4}


# 例8.2dict8_3 = {"one":1, "two":2, "three":3}dict8_4 = {"two":2}dict8_3.update(dict8_4)     # 想更新的键值对为重复键值对print ("new dict:", dict8_3)
  • 运行结果

new dict: {'one': 1, 'two': 2, 'three': 3}


(10) values()

  • 释义:与 keys() 相似,返回一个可迭代的结构
  • 示例:
# 例9d9 = {"one":1, "two":2, "three":3}v9 = d9.values()print(type(v9))print(v9)
  • 运行结果

<class 'dict_values'>

dict_values([1, 2, 3])

转载于:https://www.cnblogs.com/yorkyu/p/10293151.html

你可能感兴趣的文章
子网划分详解
查看>>
Linux下MySQL的root密码忘记解决方法
查看>>
4H.Applese 的大奖(C++)
查看>>
从运行中启动收索引擎
查看>>
java.sql.Date java.sql.Time java.sql.Timestamp 之比较
查看>>
JavaScript基本语法
查看>>
导出Maven依赖包
查看>>
实验三
查看>>
kubeadm安装k8s集群及dashboard安装(推荐)
查看>>
数据库操作语句
查看>>
Java常见异常
查看>>
XML解析
查看>>
switch处理多分支结构
查看>>
.net使用abot爬虫简单例子
查看>>
直接拿来用!最火的Android开源项目(完结篇)(转)
查看>>
Handler相关
查看>>
【转】关于windows server 2003不能共享问题
查看>>
jsonp的简单实现
查看>>
光电系统显控软件
查看>>
Jquery Mini UI 让我们的项目体验轻便快捷
查看>>