python中字典(Dictionary)⽤法实例详解
本⽂展⽰了字典在python中的使⽤。分享给⼤家参考。具体分析如下:
字典是⼀种映射结构的数据类型,由⽆序的“键值对”组成。字典的关键字必须是不可改变的类型,如字符串、数字和元组;。该值可以是任何python数据类型。
新建字典:
>>> dict1={}#建⽴⼀个空字典
>>>type(dict1)
<type'dict'>
增加字典元素:
>>> dict1['a']=1#第⼀种
>>> dict1
{'a':1}
#第⼆种:setdefault⽅法
>>> dict1.setdefault('b',2)
2
>>> dict1
{'a':1,'b':2}
删除字典:
#删除指定键-值对
>>> dict1
{'a':1,'b':2}
>>>del dict1['a']#也可以⽤pop⽅法,dict1.pop('a')
>>> dict1
{'b':2}
#清空字典
>>> dict1.clear()
>>> dict1 #字典变为空了
{}
#删除字典对象
>>>del dict1
>>> dict1
Traceback (most recent call last):
File "<interactive input>", line 1,in<module>
NameError: name 'dict1'is not defined
常⽤⽅法总结:
# -*- coding: utf-8 -*-
"""
Created on Sun Sep  9 15:37:47 2018
@author: aoanng
"""
# 1
# Python 字典 clear() 函数⽤于删除字典内所有元素。
# clear()⽅法语法:dict.clear()
dict={'Name':'Zara','Age':7}
print("字典长度 : %d"%len(dict))
dict.clear()
print("字典删除后长度 : %d"%len(dict))
'''
字典长度 : 2
字典删除后长度 : 0
'''
# 2
# Python 字典 copy() 函数返回⼀个字典的浅复制。
# copy()⽅法语法:py()
dict1 ={'user':'runoob','num':[1,2,3]}
dict2 = dict1          # 浅拷贝: 引⽤对象
dict3 = py()# 浅拷贝:深拷贝⽗对象(⼀级⽬录),⼦对象(⼆级⽬录)不拷贝,还是引⽤
# 修改 data 数据
dict1['user']='root'
dict1['num'].remove(1)
# 输出结果
print(dict1)
print(dict2)
print(dict3)
'''
{'user': 'root', 'num': [2, 3]}
{'user': 'root', 'num': [2, 3]}
{'user': 'runoob', 'num': [2, 3]}
'''
# 3
# Python 字典 fromkeys() 函数⽤于创建⼀个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值。# fromkeys()⽅法语法:dict.fromkeys(seq[, value])
seq =('name','age','sex')
dict=dict.fromkeys(seq)
print("新的字典为 : %s"%str(dict))
dict=dict.fromkeys(seq,10)
print("新的字典为 : %s"%str(dict))
'''
新的字典为 : {'name': None, 'age': None, 'sex': None}
新的字典为 : {'name': 10, 'age': 10, 'sex': 10}
'''
# 4
# Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值。
# get()⽅法语法:(key, default=None)
dict={'Name':'Runoob','Age':27}
print("Age 值为 : %s"%('Age'))
print("Sex 值为 : %s"%('Sex',"NA"))
'''
Age 值为 : 27
Sex 值为 : NA
'''
# 5
# Python 字典 in 操作符⽤于判断键是否存在于字典中,如果键在字典dict⾥返回true,否则返回false。
# in 操作符语法:key in dict
dict={'Name':'Runoob','Age':7}
# 检测键 Age 是否存在
if'Age'in dict:
print("键 Age 存在")
else:
print("键 Age 不存在")
# 检测键 Sex 是否存在
if'Sex'in dict:
print("键 Sex 存在")
else:
print("键 Sex 不存在")
'''
键 Age 存在
键 Sex 不存在
'''
# 6
# items() ⽅法以列表返回可遍历的(键, 值) 元组数组。
# items() ⽅法以列表返回可遍历的(键, 值) 元组数组。
# items()⽅法语法:dict.items()
dict={'Name':'Runoob','Age':7}
print("Value : %s"%dict.items())
'''
Value : dict_items([('Name', 'Runoob'), ('Age', 7)])
'''
# 7
# keys() ⽅法返回⼀个迭代器,可以使⽤ list() 来转换为列表。
# 注意:Python2.x 是直接返回列表
# keys()⽅法语法:dict.keys()
dict={'Name':'Runoob','Age':7}
print(dict.keys())
print(list(dict.keys()))
'''
dict_keys(['Name', 'Age'])
['Name', 'Age']
'''
# 8
# setdefault() ⽅法和get()⽅法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值。
# setdefault()⽅法语法:dict.setdefault(key, default=None)
dict={'Name':'Runoob','Age':7}
print("Age 键的值为 : %s"%dict.setdefault('Age',None))
print("Sex 键的值为 : %s"%dict.setdefault('Sex',None))
print("新字典为:",dict)
'''
Age 键的值为 : 7
Sex 键的值为 : None
新字典为: {'Name': 'Runoob', 'Age': 7, 'Sex': None}
菜鸟教程python面向对象'''
# 9
# update() 函数把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict ⾥。
# update() ⽅法语法:dict.update(dict2)
dict={'Name':'Runoob','Age':7}
dict2 ={'Sex':'female'}
dict.update(dict2)
print("更新字典 dict : ",dict)
'''
更新字典 dict :  {'Name': 'Runoob', 'Age': 7, 'Sex': 'female'}
'''
# 10
# values() ⽅法返回⼀个迭代器,可以使⽤ list() 来转换为列表,列表为字典中的所有值。
# values()⽅法语法:dict.values()
dict={'Sex':'female','Age':7,'Name':'Zara'}
print("字典所有值为 : ",list(dict.values()))
'''
字典所有值为 :  ['female', 7, 'Zara']
'''
# 11
# pop() ⽅法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。否则,返回default值。# pop()⽅法语法:pop(key[,default])
site={'name':'菜鸟教程','alexa':10000,'url':'www.runoob'}
pop_obj=site.pop('name')
print(pop_obj)
'''
菜鸟教程
'''
# 12
# popitem() ⽅法随机返回并删除字典中的⼀对键和值(⼀般删除末尾对)。
# 如果字典已经为空,却调⽤了此⽅法,就报出KeyError异常。
# 如果字典已经为空,却调⽤了此⽅法,就报出KeyError异常。
# popitem()⽅法语法:popitem()
site={'name':'菜鸟教程','alexa':10000,'url':'www.runoob'}
pop_obj=site.popitem()
print(pop_obj)
print(site)
'''
('url', 'www.runoob')
{'name': '菜鸟教程', 'alexa': 10000}
'''
字典是⼀个⽆序的数据集合,⽤print输出字典的时候,通常输出顺序和定义顺序不同参考⽂档:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。