鱼C论坛

 找回密码
 立即注册
查看: 1331|回复: 2

[技术交流] Python字典应用详解

[复制链接]
发表于 2019-7-10 22:36:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 长路漫漫唯C作伴 于 2019-7-10 22:36 编辑

Python字典应用详解
方法
含义
返回值
clear()
删除字典中的所有数据
D.clear() -> None
copy()
字典的浅拷贝
D.copy() -> dict
fromkeys(iterable, value=None, /)
返回一个新的字典,其中包含来自iterable的键,并且值等于value
D.fromkeys(iterable, value=None, /)[size=10.pt] -> dict
get(k[,d=None])
如果k在字典中,则返回k对应的值,否则返回d.d默认为无。
D.get(k[,d]) -> D[k]
items()
提供字典视图类似集合的对象
D.items() -> dict_items()
keys()
提供字典键视图类似集合的对象
D.keys() -> dict_keys()
pop(k[,d=None])
删除指定的键并返回相应的值。如果找不到密钥,则如果给定d,则返回d,否则引发KeyError。
D.pop(k[,d]) -> v
popitem()
随机删除并返回一个(键,值)对作为一个二元组;但是如果D是空的,则引发KeyError。
D.popitem() -> (k, v)
setdefault(k[,d])
设置D[K]=d(如果K不在D中)
D.setdefault(k[,d]) -> D.get(k,d)
update([E, ]**F)
从字典/迭代E和F更新到D
如果E存在并且有.key()方法,那么:对于E中的k:d[k]=E[k]
如果E存在并且缺少.key()方法,那么:对于E中的k,v:d[k]=v
D.update([E, ]**F) -> None
values()
提供字典值视图类似集合的对象
D.values() -> dict_values()

代码示例:
>>> d={"xiaojiayu":"小甲鱼","heiye":"黑夜","ruhua":"如花"}
>>> d1=d.fromkeys("jingxiang","静香")
>>> d1
{'j': '静香', 'i': '静香', 'n': '静香', 'g': '静香', 'x': '静香', 'a': '静香'}
>>> d
{'xiaojiayu': '小甲鱼', 'heiye': '黑夜', 'ruhua': '如花'}
>>> d={"xiaojiayu":"小甲鱼","heiye":"黑夜","ruhua":"如花"}
>>> d1={}
>>> d1=d1.fromkeys((0,1,2,3,4,5,6,7,8,9),"数字")
>>> d1
{0: '数字', 1: '数字', 2: '数字', 3: '数字', 4: '数字', 5: '数字', 6: '数字', 7: '数字', 8: '数字', 9: '数字'}
>>> d2=d1.copy()
>>> d2
{0: '数字', 1: '数字', 2: '数字', 3: '数字', 4: '数字', 5: '数字', 6: '数字', 7: '数字', 8: '数字', 9: '数字'}
>>> d2.clear()
>>> d2
{}
>>> d.get("xiaojiayu","没有")
'小甲鱼'
>>> d.get("jingxiang","没有")
'没有'
>>> d1.items()
dict_items([(0, '数字'), (1, '数字'), (2, '数字'), (3, '数字'), (4, '数字'), (5, '数字'), (6, '数字'), (7, '数字'), (8, '数字'), (9, '数字')])
>>> list(d1.items())
[(0, '数字'), (1, '数字'), (2, '数字'), (3, '数字'), (4, '数字'), (5, '数字'), (6, '数字'), (7, '数字'), (8, '数字'), (9, '数字')]
>>> d.keys()
dict_keys(['xiaojiayu', 'heiye', 'ruhua'])
>>> list(d.keys())
['xiaojiayu', 'heiye', 'ruhua']
>>> d.values()
dict_values(['小甲鱼', '黑夜', '如花'])
>>> list(d.values())
['小甲鱼', '黑夜', '如花']
>>> d.pop("ruhua","没有")
'如花'
>>> d.pop("jingxiang","没有")
'没有'
>>> d
{'xiaojiayu': '小甲鱼', 'heiye': '黑夜'}
>>> d.popitem()
('heiye', '黑夜')
>>> d
{'xiaojiayu': '小甲鱼'}
>>> d.setdefault("jingxiang","静香")
'静香'
>>> d.setdefault("xiaojiayu","如花")
'小甲鱼'
>>> d
{'xiaojiayu': '小甲鱼', 'jingxiang': '静香'}
>>> d.update(d1)
>>> d
{'xiaojiayu': '小甲鱼', 'jingxiang': '静香', 0: '数字', 1: '数字', 2: '数字', 3: '数字', 4: '数字', 5: '数字', 6: '数字', 7: '数字', 8: '数字', 9: '数字'}
>>> d1[0]="零"
>>> d.update(d1)
>>> d
{'xiaojiayu': '小甲鱼', 'jingxiang': '静香', 0: '零', 1: '数字', 2: '数字', 3: '数字', 4: '数字', 5: '数字', 6: '数字', 7: '数字', 8: '数字', 9: '数字'}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-11 09:45:33 | 显示全部楼层
这个收藏
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-27 02:18:06 | 显示全部楼层
整理得很棒,收藏了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-24 22:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表