11个Python3字典内置方法大全与示例汇总

概述

在绝大部分的开发语言中与实际开发过程中,Dictionary扮演着举足轻重的角色。从我们的数据模型到服务器返回的参数到数据库的应用等等,Dictionary的身影无处不在。

在Python中,Dictionary是一种可变的容器类型。所谓容器类型,就是我们放置数据的地方。不同于List的有序、操作时对数据类型统一性的要求较严格,Dictionary是一种可变的、不限存储对象、无序的数据模型。

字典有着类似列表的高灵活度的特点,而与列表通过偏移索引的存取元素的方式不同,字典是通过无序的键来存取键值对的,即字典是任意对象的无需集合,可在原处增加或减少,且支持任意深度的嵌套(即可以包含诸如列表,其他的字典等),下面就介绍了Python提供的11个字典内置方法的基本概述及简单示例。

方法 描述
clear 清除字典中所有键值对
copy 对字典进行浅拷贝,如需详细了解可以参考上上节可变对象的浅拷贝和深拷贝详解《Python列表赋值,复制,深拷贝以及5种浅拷贝详解》
fromkeys fromkeys(*args, **kwargs) 创建一个新字典,以序列的中元素做字典的键,value 为字典所有键对应的初始值
get get(self, k, d=None) 获取指定键k对应的值,如果该键不存在则返回d,默认为None 该方法可以用来判断某键是否包含在字典内
items 返回类似集合的可遍历的(键, 值) 元组列表
keys 返回类似集合的可遍历的键列表
pop 删除一个键并返回其对应的值
popitem 随机返回并删除字典中的一对键和值(一般删除末尾对),若列表为空再调用此方法会抛出KeyError异常
setdefault setdefault(self, k, d=None) 函数和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值
update 更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中,将键值对添加到字典中,可能是字典,也可能是键-值对序列,详见实例
values 返回类似集合的可遍历的值列表

示例代码

# dict
import copy

# 示例字典
D = {
  'name': 'Ruo Data',
  'web': {
    'site': 'https://www.ruodata.com',
    'basic': 'github'
  },
  'major': 'python'
}

print(D)

print('clear'.center(40, '-'))
# clear|清除字典中所有键值对
D1 = copy.deepcopy(D)
D1.clear()
print(D1)

print('copy'.center(40, '-'))
# copy|对字典进行浅拷贝,如需详细了解可以参考上上节可变对象的浅拷贝和深拷贝详解《Python列表赋值,复制,深拷贝以及5种浅拷贝详解》
D2 = copy.deepcopy(D)
D2_copy = D2.copy()
D2_copy['web']['articl_nums'] = 2
print(D2)

print('fromkeys'.center(40, '-'))
# fromkeys| fromkeys(*args, **kwargs) 创建一个新字典,以序列的中元素做字典的键,value 为字典所有键对应的初始值
D3 = dict.fromkeys(D)
print(D3)
D3 = dict.fromkeys(D, 'SSS')
print(D3)

print('get'.center(40, '-'))
# get| get(self, k, d=None) 获取指定键k对应的值,如果该键不存在则返回d,默认为`None` 该方法可以用来判断某键是否包含在字典内
value = D.get('name')
print(value)
# 判断键`'TEAM'`是否存在于D中:
if D.get('TEAM'):
  print(D.get('TEAM'))
else:
  print(None)

print('items'.center(40, '-'))
# items| 返回类似集合的可遍历的(键, 值) 元组列表。
items = D.items()
print(items)
# 利用items 遍历字典打印键值对:
for key, value in D.items():
  print('{}: {}'.format(key, value))

print('keys'.center(40, '-'))
# keys| 返回类似集合的可遍历的键列表
keys = D.keys()
print(keys)

print('pop'.center(40, '-'))
# pop| 删除一个键并返回其对应的值
D4 = copy.deepcopy(D)
value = D4.pop('name')
print(value)
print(D4)

print('popitem'.center(40, '-'))
# popitem| 随机返回并删除字典中的一对键和值(一般删除末尾对),若列表为空再调用此方法会抛出KeyError异常
D5 = copy.deepcopy(D)
key_value = D5.popitem()
print(key_value)
print(D5)

print('setdefault'.center(40, '-'))
# setdefault| setdefault(self, k, d=None) 函数和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。
D6 = copy.deepcopy(D)
key_value = D6.setdefault('major')
print(key_value)
key_value = D6.setdefault('UNKONW_KEY', 'UNKOWN_VALUE')
print(key_value)
print(D6)

print('update'.center(40, '-'))
# update| 更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中,将e中键-值对添加到字典d中,e可能是字典,也可能是键-值对序列。详见实例。
D7 = copy.deepcopy(D)

# 传一个字典
D7.update({'three': 3, 'four': 4})
print(D7)

# 传关键字
D7.update(five=5, six=6)
print(D7)

# 传一个包含一个或多个元组的列表
D7.update([('seven', 7), ('eight', 8)])
print(D7)

# 传一个包含一个或多个列表的元组
D7.update((['nice', 9], ['ten', 10]))
print(D7)

# 传一个zip()函数
D7.update(zip(['eleven', 'twelve'], [11, 12]))
print(D7)

# 使用以上任意方法修改存在的键对应的值
D7.update(one=111, two=222)
print(D7)

print('values'.center(40, '-'))
# values| 返回类似集合的可遍历的值列表
values = D.values()
print(values)

示例结果

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。

(0)

相关推荐

  • python3中dict(字典)的使用方法示例

    一.clear(清空字典内容) stu = { 'num1':'Tom', 'num2':'Lucy', 'num3':'Sam', } print(stu.clear()) #输出:None 二.copy(拷贝字典) stu = { 'num1':'Tom', 'num2':'Lucy', 'num3':'Sam', } stu2 = stu.copy() print(stu2) 三.fromkeys(指定一个列表,把列表中的值作为字典的key,生成一个字典) name = ['tom','l

  • Python3实现的字典、列表和json对象互转功能示例

    本文实例讲述了Python3实现的字典.列表和json对象互转功能.分享给大家供大家参考,具体如下: python3可以使用json模块操作json json.dumps(): 对json进行编码,对应php的json_encode() json.loads(): 对json进行解码,对应php的json_decode() test.py #!/usr/bin/python3 import json #python字典类型转换为json对象 data = { 'id' : 1, 'name' :

  • Python3列表内置方法大全及示例代码小结

    Python中的列表是简直可说是有容乃大,虽然看似类似C中的数组,但是Python列表可以接受任意的对象元素,比如,字符串,数字,布尔值,甚至列表,字典等等,自由度提升到一个新的高度,而Python也提供了大量列表相关的内置方法来有效操作列表: 方法 描述 append 将单个对象添加至列表末尾 clear 删除列表中所有项目 copy 列表的浅拷贝,参见上篇文章<Python列表赋值,复制,深拷贝以及5种浅拷贝详解> count 统计指定对象在列表中出现的次数 extend 通过附加iter

  • python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)

    python3 json数据格式的转换(dumps/loads的使用.dict to str/str to dict.json字符串/字典的相互转换) Python3 JSON 数据解析 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数: json.dumps(): 对数据进行编码. json.loads(): 对数据进

  • python3 cvs将数据读取为字典的方法

    如下所示: import csv with open("csv.csv",'r',encoding="utf-8") as f: reader = csv.reader(f) fieldnames = next(reader)#获取数据的第一列,作为后续要转为字典的键名 生成器,next方法获取 # print(fieldnames) csv_reader = csv.DictReader(f,fieldnames=fieldnames) #self._fieldn

  • Python3.5常见内置方法参数用法实例详解

    本文实例讲述了Python3.5常见内置方法参数用法.分享给大家供大家参考,具体如下: Python的内置方法参数详解网站为:https://docs.python.org/3/library/functions.html?highlight=built#ascii 1.abs(x):返回一个数字的绝对值.参数可以是整数或浮点数.如果参数是一个复数,则返回它的大小. #内置函数abs() print(abs(-2)) print(abs(4.5)) print(abs(0.1+7j)) 运行结果

  • python3.0 字典key排序

    IDLE 3.0 >>> dic = {"aa":1,"bb":2,"ab":3} >>> dic {'aa': 1, 'ab': 3, 'bb': 2} >>> for k in sorted(dic.keys()): print (k) aa ab ----------------------------------------------- 字典对象其实就是键-值对 下面是字典对象的添加

  • Python3中的列表,元组,字典,字符串相关知识小结

    一.知识概要 1. 列表,元组,字典,字符串的创建方式 2. 列表,元组,字典,字符串的方法调用 3. 列表,元组,字典,字符串的常规用法 二.列表 # 列 表 # 列表基础 list_1 = ['a','b','c','d','e','f'] list_2 = ['apple','banana','watermelon','strawberry','banana','apple'] print(list_1) print("##########") # 列表得下标是从0开始的,之后的

  • Python3实现的字典遍历操作详解

    本文实例讲述了Python3字典遍历操作.分享给大家供大家参考,具体如下: 字典是针对非序列集合而提供的一种数据类型. 通过任意键查找集合中值信息的过程叫映射,python通过字典实现映射. 为字典赋值: >>> d={'list':[1, 2, 3],1:123,'111':'python3','tuple':(4, 5, 6)} >>> print(d) {1: 123, 'list': [1, 2, 3], '111': 'python3', 'tuple': (

  • python3 面向对象__类的内置属性与方法的实例代码

    0.object类源码 class object: """ The most base type """ def __delattr__(self, *args, **kwargs): # real signature unknown """ Implement delattr(self, name). """ pass def __dir__(self): # real signatu

随机推荐