Python中的字典类型:创建、访问、修改、删除与相关函数

您所在的位置:网站首页 香砂六君子汤方解 Python中的字典类型:创建、访问、修改、删除与相关函数

Python中的字典类型:创建、访问、修改、删除与相关函数

#Python中的字典类型:创建、访问、修改、删除与相关函数| 来源: 网络整理| 查看: 265

减小字体 增大字体 作者:本站  来源:本站整理  发布时间:2020-07-12 12:35:49

Python中的字典类型是有键值对(key:value)构成的一种类型。Python字典可以存储任何数据类型的数据。

一、Python字典概述

(1)Python字典是一种键-值对数据类型,一旦定义,其键不可以修改,但值可以修改;

(2)Python字典中的键是唯一的,即一个字典中不允许有相同的键;

(3)Python字典是一种无序的键-值集合,即像集合那样,不能使用位置索引来访问或修改字典中的键-值;

(4)Python字典的键值放在一对花括号{}中,每个键值使用英文半角的逗号进行分隔;

(5)既然Python字典的键是不可变的,那么就可以使用字符串、数字、元组来作为字典的键;

(6)Python中的值可以为任何类型,也可以是None.

二、定义字典

字典的基本语法形式如下:

d = { key1 : value1, key2 : value2 }

下面举例子来说明:

>>> price = { "苹果" : 8.9, "樱桃" : 19.78, "桔子" : 6.5} >>> print(price) {'苹果': 8.9, '樱桃': 19.78, '桔子': 6.5} >>> 

我们也可以使用字典构造函数 dict() 来创建一个字典。

>>> dic1 = dict( name = '翔宇亭', age = 12, type ='互联网') >>> print(dic1) {'name': '翔宇亭', 'age': 12, 'type': '互联网'} >>> dic2 = dict([('name', '翔宇亭'), ('age', 12), ('type', '互联网')]) >>> print(dic2) {'name': '翔宇亭', 'age': 12, 'type': '互联网'} >>> dic3 = dict({'name' : '翔宇亭', 'age' : 12, 'type' : '互联网'}) >>> print(dic3) {'name': '翔宇亭', 'age': 12, 'type': '互联网'} >>> 

以上在Python3.8.2中运行的情况如下图所示:

二、访问字典中的值

我们可以使用 字典名[键名] 的方式来访问字典中的值。

>>> dic1= {'nickname' : 'xiangyuting', 'account' : 'biye5u', 'regdate' : '2008-08-20'} >>> dic1['nickname'] 'xiangyuting' >>> dic1['regdate'] '2008-08-20' >>> 

如果企图访问不存在的键将会引发错误:

>>> dic = { '1' : 'a', '2' : 'b', '3' : 'c'} >>> print(dic['4']) Traceback (most recent call last):     File "", line 1, in         print(dic['4']) KeyError: '4' >>> 

以上例子中可以看出,企图访问的键 '4' 在字典dic中不存在,引发 KeyError 错误,即访问的键不存在。

三、修改字典

我们可以使用 字典名[键名] 的方式来修改某一个键值对的值,也可以为字典新增键值对。

在实际操作中,如果键名在字典中存在,则修改其值,如果字典中不存在该键名,则执行新增操作,如下例所示。

fruits = {1 : '苹果', 2 : '梨', 3 : '荔枝'} print('原字典:' , fruits) fruits[4] = '西瓜' print('更新后:', fruits) fruits[3] = '葡萄' print('再次更新后:', fruits)

执行结果:

原字典: {1: '苹果', 2: '梨', 3: '荔枝'} 更新后: {1: '苹果', 2: '梨', 3: '荔枝', 4: '西瓜'} 再次更新后: {1: '苹果', 2: '梨', 3: '葡萄', 4: '西瓜'}

四、删除字典中的值

在Python中可以使用del关键字删除字典中的一个值或删除字典的定义,也可以使用clear函数清空字典中的值。

>>> word = { 'a' : "apple", 'b' : ' banana', 'c' : 'cherry'} >>> print(word) {'a': 'apple', 'b': ' banana', 'c': 'cherry'} >>> del word['b']  # 删除一个值 >>> print(word) {'a': 'apple', 'c': 'cherry'} >>> word.clear()  # 清空字典中的值 >>> print(word) {} >>> del word  # 删除 word 的定义 >>> print(word) # 将引发 NameError错误 raceback (most recent call last):     File "", line 1, in         print(word) NameError: name 'word' is not defined >>> 

五、循环迭代字典

我们可以使用for循环迭代访问或处理字典中的值。

1、使用items()方法返回字典的键-值对

word = { 'a' : "apple", 'b' : 'banana', 'c' : 'cherry'} for k, v  in word.items():     print(f'{k} = {v}')

输出结果:

a = apple b = banana c = cherry

2、循环迭代字典中的键

word = { 'a' : "apple", 'b' : 'banana', 'c' : 'cherry'} for k in word:     print(f'{k} = {word[k]}')

输出结果:

a = apple b = banana c = cherry

3、使用values()方法循环迭代字典中的值

word = { 'a' : "apple", 'b' : 'banana', 'c' : 'cherry'} for v in word.values():     print(v)

输出结果:

apple banana cherry

六、in 或 not in 在字典中的运用

可以使用 in 或 not in 检测一个字典中是否存在某个键。

word = { 'a' : "apple", 'b' : 'banana', 'c' : 'cherry'} print('c' in word) print('d' not in word) print('a' not in word)

输出结果:

True True False

七、字典操作的一些函数

1、len()函数求字典中值的个数

>>> word = { 'a' : "apple", 'b' : 'banana', 'c' : 'cherry'} >>> print(len(word)) 3 >>> 

2、values() 函数

该函数返回字典中“键-值”中的所有值,然后可以使用迭代对值进行相关的处理。

nums = {'num1' : 12, 'num2' : 45, 'num3' : 9} values = nums.values() sum = 0 for v in values:     sum += v print(f'sum = {sum}')

输出结果:

sum = 66

3、items() 函数

items()函数可以获取到字典中的所有键值对,并可以使用循环迭代进行处理。

见本文上面五、1中的例子。

4、pop(key[, default])函数

该函数从字典中删除指定 key 项,并返回其对应的值,如果字典中不存在key键,则返回default指定的值,如果key不存在,且未指定default的话,该函数将引发 KeyError 错误。

nums = {'num1' : 12, 'num2' : 45, 'num3' : 9} v1 = nums.pop('num1') print(f'v1={v1},移除后nums = {nums}') v2 = nums.pop('num1', 'NA') print(f'v2={v2},nums={nums}')

输出结果:

v1=12,移除后nums = {'num2': 45, 'num3': 9} v2=NA,nums={'num2': 45, 'num3': 9}

5、dict.fromkeys(seq[, val])

该函数使用seq给出的序列值为键,创建一个字典,字典中每个键对应的值由参数val给出,如果未提供 val 参数,则默认为 None.

dic1 = dict.fromkeys((1, 2, 3), 'a') print(dic1) dic2 = dict.fromkeys(['1', '2', '3']) print(dic2) dic3 = dict.fromkeys({'1', '2', '3'}, 'NA') print(dic3)

输出结果:

1: 'a', 2: 'a', 3: 'a'} {'1': None, '2': None, '3': None} {'3': 'NA', '1': 'NA', '2': 'NA'}

6、get(key[, default])

该函数将返回指定 key 所对应的值,如果字典中不包含 key ,则返回可选参数default给定的值,如果字典中不含 key,且未给定default参数时,函数直接返回None.

dic1 = {'a' : 'apple', 'b' : 'banana', 'c' : 'cherry', 'd' : 'durian'} fr = dic1.get('a') print(fr) fr = dic1.get('e', 'NA') print(fr) fr = dic1.get('f') print(fr)

运行结果:

apple NA None

7、keys()

该函数返回字典中所有键的集合。

dic1 = {'a' : 'apple', 'b' : 'banana', 'c' : 'cherry', 'd' : 'durian'} keys = dic1.keys() print(keys) for k in keys:     print(f'{k} : {dic1[k]}')

输出结果:

dict_keys(['a', 'b', 'c', 'd']) a : apple b : banana c : cherry d : durian

8、popitem()

该函数每次执行以元组的形式返回一个键值对的值,并将该值在原字典中移除。

dic1 = {'a' : 'apple', 'b' : 'banana', 'c' : 'cherry', 'd' : 'durian'} while len(dic1) > 0:     item = dic1.popitem()     print(item)

输出结果:

('d', 'durian') ('c', 'cherry') ('b', 'banana') ('a', 'apple')

9、setdefault(key[, default])

该函数用于向列表中增加一个值,增加值的键是函数参数指定的 key,如果指定了参数default,则新增项的值为default,否则为None,函数同时会返回该键值所对应的值。如果原字典中已存在键为 key 的项,则该函数仅返回该键值所对应的值。

dic1 = {'a' : 'apple', 'b' : 'banana', 'c' : 'cherry'} v = dic1.setdefault('p', 'pear') print("dic1=", dic1, ",v=", v) v = dic1.setdefault('g') print("dic1=", dic1, ",v=", v) v = dic1.setdefault('a') print("dic1=", dic1, ",v=", v)

运行结果:

dic1= {'a': 'apple', 'b': 'banana', 'c': 'cherry', 'p': 'pear'} ,v= pear dic1= {'a': 'apple', 'b': 'banana', 'c': 'cherry', 'p': 'pear', 'g': None} ,v= None dic1= {'a': 'apple', 'b': 'banana', 'c': 'cherry', 'p': 'pear', 'g': None} ,v= apple

10、update(dict)

该函数使用给定的字典参数dict来更新一个字典。如果原字典中存在dict中对应的键,就使用dict中的值来修改它,否则就在原字典中新增一项。

dic1 = {'a' : 'apple', 'b' : 'banana', 'c' : 'cherry'} print(dic1) dic1.update({'a' : 'apricot', 'm' : 'mango'}) print(dic1)

输出结果:

{'a': 'apple', 'b': 'banana', 'c': 'cherry'} {'a': 'apricot', 'b': 'banana', 'c': 'cherry', 'm': 'mango'}

Python字典类型使用教程

以上是关于Python字典中的所有内容,如对内容有疑问请留言评论。

如需转载请注明出处和本文链接地址:翔宇亭IT乐园(http://www.biye5u.com)

本文链接地址:http://www.biye5u.com/article/python/2020/6480.html

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

Tags:Python 字典 数据类型 数据结构 键值对 [] [返回上一页] [打 印]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3