栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python基础知识-字典dictionary

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python基础知识-字典dictionary

1、字典的创建

在Python3中字典(dictionary ,简写为dict)是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 (​key=>value​) 对用冒号 ( : ) 分割,每个对之间用逗号 (,) 分割,整个字典包括在花括号 (​{}​) 中 ,格式如下所示:

dict = {key1 : value1, key2 : value2 }

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

键必须是唯一的,但值则不必。
值可以取任何数据类型,但​键必须是不可变的​,如字符串,数字或元组。

2、访问字典里的值

与列表取值类似,但列表取值时使用索引,字典取值时使用key,如下实例:

#!/usr/bin/python3

dict = {'Name': 'W3CSchool', 'Age': 7, 'Class': 'First'}

print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])

dict['Name']:  W3CSchool
dict['Age']:  7

3、修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

#!/usr/bin/python3

dict = {'Name': 'W3CSchool', 'Age': 7, 'Class': 'First'}

dict['Age'] = 8;               # 更新 Age
dict['School'] = "W3Cschool教程"  # 添加信息,直接创建


print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

4、删除字典元素

​del ​能删单一的元素也能清空字典。我们可以用它来删除字典中的一组键值对也可以用来删除整个字典。另外使用clear()也能删除字典。如下实例:

#!/usr/bin/python3

dict = {'Name': 'W3CSchool', 'Age': 7, 'Class': 'First'}

del dict['Name'] # 删除键 'Name'
dict.clear()     # 删除字典
del dict         # 删除字典

print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

Traceback (most recent call last):
  File "test.py", line 9, in 
    print ("dict['Age']: ", dict['Age'])
TypeError: 'type' object is not subscriptable

5、字典内置函数
  • len(dict)
    计算字典元素个数,即键的总数
  • str(dict)
    以可打印的字符串输出字典
dict1={'name':'zps','age':20,'sex':'man','hobby':'coding'}
print(dict1)
print(str(dict1))

{'name': 'zps', 'age': 20, 'sex': 'man', 'hobby': 'coding'}
{'name': 'zps', 'age': 20, 'sex': 'man', 'hobby': 'coding'}
  • type(variable)
    返回输入的变量类型,如果变量是字典就返回字典类型。
6、Python 字典包含了以下内置方法: (1)clear()

删除字典内所有元素

dict1={'name':'zps','age':20,'sex':'man','hobby':'coding'}
print(dict1)
dict1.clear()
print(len(dict1))

{'name': 'zps', 'age': 20, 'sex': 'man', 'hobby': 'coding'}
0
(2)copy()

返回一个字典的浅复制

(3)fromkeys(seq[, value]))

用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值。

seq=('name','age','sex','hobby')
dict1=dict.fromkeys(seq)//dict调用函数
print(dict1)

dict2=dict.fromkeys(seq,'未知')//指定了初始值
print(dict2)

{'name': None, 'age': None, 'sex': None, 'hobby': None}
{'name': '未知', 'age': '未知', 'sex': '未知', 'hobby': '未知'}

(4)get(key, default=None)

返回指定键的值,如果值不在字典中返回默认值。

dict1={'name':'zps','age':20,'sex':'man','hobby':'coding'}
print(dict1)
print('name:%s' %dict1.get('name'))
print('weight:%s' %dict1.get('weight'))

{'name': 'zps', 'age': 20, 'sex': 'man', 'hobby': 'coding'}
name:zps
weight:None
(5)key in dict

如果键在字典里返回true,否则返回false。

(6)dict.items()

以列表返回可遍历的(键, 值) 元组数组。

dict1={'name':'zps','age':20,'sex':'man','hobby':'coding'}
print(dict1.items())

dict_items([('name', 'zps'), ('age', 20), ('sex', 'man'), ('hobby', 'coding')])
(7)dict.keys()

以列表返回一个字典所有的键

(8)dict.setdefault(key, default=None)

和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值。

#!/usr/bin/python3

dict = {'Name': 'W3CSchool', 'Age': 7}

print ("Age 键的值为 : %s" %  dict.setdefault('Age', None))
print ("Sex 键的值为 : %s" %  dict.setdefault('Sex', None))
print ("新字典为:", dict)

Age 键的值为 : 7
Sex 键的值为 : None
新字典为: {'Name': 'W3CSchool', 'Age': 7, 'Sex': None}
(9)update()

把字典dict2的键/值对更新到dict里

#!/usr/bin/python3

dict = {'Name': 'W3CSchool', 'Age': 7}
dict2 = {'Sex': 'female' }

dict.update(dict2)
print ("更新字典 dict : ", dict)

更新字典 dict :  {'Name': 'W3CSchool', 'Age': 7, 'Sex': 'female'}
(10)dict.values()

以列表返回字典中的所有值

dict1={'name':'zps','age':20,'sex':'man','hobby':'coding'}
print(dict1.values())

dict_values(['zps', 20, 'man', 'coding'])
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/947683.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号