描述
Python 字典 copy() 函数返回一个字典的浅复制。
语法
copy()方法语法:
dict.copy()
参数
NA。
返回值
返回一个字典的浅复制。
实例
以下实例展示了 copy()函数的使用方法:
实例
#!/usr/bin/python3
dict1 = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
dict2 = dict1.copy()
print ("新复制的字典为 : ",dict2)
以上实例输出结果为:
新复制的字典为 : {'Age': 7, 'Name': 'Runoob', 'Class': 'First'}
直接赋值和 copy 的区别
可以通过以下实例说明:
实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict1 = {'user':'runoob','num':[1,2,3]}
dict2 = dict1 # 浅拷贝: 引用对象
dict3 = dict1.copy() # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,子对象是引用
# 修改 data 数据
dict1['user']='root'
dict1['num'].remove(1)
# 输出结果
print(dict1)
print(dict2)
print(dict3)
实例中 dict2 其实是 dict1 的引用(别名),所以输出结果都是一致的,dict3 父对象进行了深拷贝,不会随dict1 修改而修改,子对象是浅拷贝所以随 dict1 的修改而修改。
{'user': 'root', 'num': [2, 3]}
{'user': 'root', 'num': [2, 3]}
{'user': 'runoob', 'num': [2, 3]}
描述
Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
语法
fromkeys() 方法语法:
dict.fromkeys(seq[, value])
参数
seq -- 字典键值列表。
value -- 可选参数, 设置键序列(seq)对应的值,默认为 None。
返回值
该方法返回一个新字典。
实例
以下实例展示了 fromkeys()函数的使用方法:
实例
#!/usr/bin/python3
seq = ('name', 'age', 'sex')
tinydict = dict.fromkeys(seq)
print ("新的字典为 : %s" % str(tinydict))
tinydict = dict.fromkeys(seq, 10)
print ("新的字典为 : %s" % str(tinydict))
以上实例输出结果为:
新的字典为 : {'age': None, 'name': None, 'sex': None}
新的字典为 : {'age': 10, 'name': 10, 'sex': 10}
不指定值:
实例
#!/usr/bin/python3
x = ('key1', 'key2', 'key3')
thisdict = dict.fromkeys(x)
print(thisdict)
以上实例输出结果为:
{'key1': None, 'key2': None, 'key3': None}
描述
Python 字典 get() 函数返回指定键的值。
语法
get()方法语法:
dict.get(key[, value])
参数
key -- 字典中要查找的键。
value -- 可选,如果指定键的值不存在时,返回该默认值。
返回值
返回指定键的值,如果键不在字典中返回默认值 None 或者设置的默认值。
实例
以下实例展示了 get() 函数的使用方法:
实例
#!/usr/bin/python
tinydict = {'Name': 'Runoob', 'Age': 27}
print ("Age : ", tinydict.get('Age'))
# 没有设置 Sex,也没有设置默认的值,输出 None
print ("Sex : ", tinydict.get('Sex'))
# 没有设置 Salary,输出默认的值 0.0
print ('Salary: ', tinydict.get('Salary', 0.0))
以上实例输出结果为:
Age : 27
Sex : None
Salary: 0.0
get() 方法 Vs dict[key] 访问元素区别
get(key) 方法在 key(键)不在字典中时,可以返回默认值 None 或者设置的默认值。
dict[key] 在 key(键)不在字典中时,会触发 KeyError 异常。
实例
>>> runoob = {}
>>> print('URL: ', runoob.get('url')) # 返回 None
URL: None
>>> print(runoob['url']) # 触发 KeyError
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'url'
>>>
嵌套字典使用
get() 方法对嵌套字典的使用方法如下:
实例
#!/usr/bin/python
tinydict = {'RUNOOB' : {'url' : 'www.runoob.com'}}
res = tinydict.get('RUNOOB', {}).get('url')
# 输出结果
print("RUNOOB url 为 : ", str(res))
以上实例输出结果为:
RUNOOB url 为 : www.runoob.com
描述
Python 字典 in 操作符用于判断键是否存在于字典中,如果键在字典 dict 里返回 true,否则返回 false。
而 not in 操作符刚好相反,如果键在字典 dict 里返回 false,否则返回 true。
语法
in 操作符语法:
key in dict
参数
key -- 要在字典中查找的键。
返回值
如果键在字典里返回true,否则返回false。
实例
以下实例展示了 in 操作符在字典中的使用方法:
实例(Python 3.0+)
#!/usr/bin/python3
thisdict = {'Name': 'Runoob', 'Age': 7}
# 检测键 Age 是否存在
if 'Age' in thisdict:
print("键 Age 存在")
else :
print("键 Age 不存在")
# 检测键 Sex 是否存在
if 'Sex' in thisdict:
print("键 Sex 存在")
else :
print("键 Sex 不存在")
# not in
# 检测键 Age 是否存在
if 'Age' not in thisdict:
print("键 Age 不存在")
else :
print("键 Age 存在")
以上实例输出结果为:
键 Age 存在
键 Sex 不存在
键 Age 存在
范彪,毕业于西华师范大学国土资源学院,中共党员,中学一级教师,长期担任文科班班主任工作,现任年级地理备课组组长。
工作十余年,在教学工作和班主任管理工作中都取得了优秀的业绩。教学中,课堂氛围活跃,循序善诱,激发学生的创新意识和创新能力,深受到广大学生的爱戴,教学成绩突出,获得高考质量评估特等奖。
班主任管理工作中,积极开展各种活动,为每一个学生提供认识、反思和发展自我的机会,增强学生的个人成就感和集体荣誉感。先后担任过普通班、大火箭班、小火箭班的班主任。高考成绩尤为突出,所带学生1人考入北京大学,数十人考入中国政法大学、北京师范大学、中国音乐学院、哈尔滨工业大学等名校。在年度评比中,多次被评为市级或校级“优秀班主任”“优秀班集体”“优秀党员”等荣誉称号。
教育理念:知行合一,止于至善。
描述
Python 字典 items() 方法以列表返回视图对象,是一个可遍历的key/value 对。
dict.keys()、dict.values() 和 dict.items() 返回的都是视图对象( view objects),提供了字典实体的动态视图,这就意味着字典改变,视图也会跟着变化。
视图对象不是列表,不支持索引,可以使用 list() 来转换为列表。
我们不能对视图对象进行任何的修改,因为字典的视图对象都是只读的。
语法
items()方法语法:
dict.items()
参数
NA。
返回值
返回可视图对象。
实例
以下实例展示了 items() 方法的使用方法:
实例
#!/usr/bin/python3
tinydict = {'Name': 'Runoob', 'Age': 7}
print ("Value : %s" % tinydict.items())
以上实例输出结果为:
Value : dict_items([('Age', 7), ('Name', 'Runoob')])
描述
Python3 字典 keys() 方法返回一个视图对象。
dict.keys()、dict.values() 和 dict.items() 返回的都是视图对象( view objects),提供了字典实体的动态视图,这就意味着字典改变,视图也会跟着变化。
视图对象不是列表,不支持索引,可以使用 list() 来转换为列表。
我们不能对视图对象进行任何的修改,因为字典的视图对象都是只读的。
注意:Python2.x 是直接返回列表
语法
keys()方法语法:
dict.keys()
参数
NA。
返回值
返回一个视图对象。
实例
以下实例展示了 keys() 方法的使用方法:
实例
>>> dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}
>>> keys = dishes.keys()
>>> values = dishes.values()
>>> # 迭代
>>> n = 0
>>> for val in values:
... n += val
>>> print(n)
504
>>> # keys 和 values 以相同顺序(插入顺序)进行迭代
>>> list(keys) # 使用 list() 转换为列表
['eggs', 'sausage', 'bacon', 'spam']
>>> list(values)
[2, 1, 1, 500]
>>> # 视图对象是动态的,受字典变化的影响,以下删除了字典的 key,视图对象转为列表后也跟着变化
>>> del dishes['eggs']
>>> del dishes['sausage']
>>> list(keys)
['bacon', 'spam']
描述
Python 字典 setdefault() 方法和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。
语法
setdefault()方法语法:
dict.setdefault(key, default=None)
参数
key -- 查找的键值。
default -- 键不存在时,设置的默认键值。
返回值
如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。
实例
以下实例展示了 setdefault() 方法的使用方法:
实例
#!/usr/bin/python3
tinydict = {'Name': 'Runoob', 'Age': 7}
print ("Age 键的值为 : %s" % tinydict.setdefault('Age', None))
print ("Sex 键的值为 : %s" % tinydict.setdefault('Sex', None))
print ("新字典为:", tinydict)
以上实例输出结果为:
Age 键的值为 : 7
Sex 键的值为 : None
新字典为: {'Age': 7, 'Name': 'Runoob', 'Sex': None}
描述
Python 字典 update() 函数把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict 里。
语法
update() 方法语法:
dict.update(dict2)
参数
dict2 -- 添加到指定字典dict里的字典。
返回值
该方法没有任何返回值。
实例
以下实例展示了 update()函数的使用方法:
实例(Python 2.0+)
#!/usr/bin/python3
tinydict = {'Name': 'Runoob', 'Age': 7}
tinydict2 = {'Sex': 'female' }
tinydict.update(tinydict2)
print ("更新字典 tinydict : ", tinydict)
以上实例输出结果为:
更新字典 tinydict : {'Name': 'Runoob', 'Age': 7, 'Sex': 'female'}
描述
Python3 字典 values() 方法返回一个视图对象。
dict.keys()、dict.values() 和 dict.items() 返回的都是视图对象( view objects),提供了字典实体的动态视图,这就意味着字典改变,视图也会跟着变化。
视图对象不是列表,不支持索引,可以使用 list() 来转换为列表。
我们不能对视图对象进行任何的修改,因为字典的视图对象都是只读的。
语法
values()方法语法:
dict.values()
参数
NA。
返回值
返回视图对象。
实例
以下实例展示了 values() 方法的使用方法:
实例
>>> dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}
>>> keys = dishes.keys()
>>> values = dishes.values()
>>> # 迭代
>>> n = 0
>>> for val in values:
... n += val
>>> print(n)
504
>>> # keys 和 values 以相同顺序(插入顺序)进行迭代
>>> list(keys) # 使用 list() 转换为列表
['eggs', 'sausage', 'bacon', 'spam']
>>> list(values)
[2, 1, 1, 500]
>>> # 视图对象是动态的,受字典变化的影响,以下删除了字典的 key,视图对象转为列表后也跟着变化
>>> del dishes['eggs']
>>> del dishes['sausage']
>>> list(values)
[1, 500]
>>> #相同两个 dict.values() 比较返回都是 False
>>> d = {'a': 1}
>>> d.values() == d.values()
False
到此这篇python字典增加和删除(python字典的删除方法)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/pythonbc/38240.html