文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python3 字典操作

2023-01-31 08:15

关注
字典:
创建方式:
    1、正常创建
    a = {'name': 'azj', 'age': 23, 'mail': 'azj@163.com'}
    2、通过工厂函数dict创建
    a = dict((['name', 'azj'], ['age', 23], ['email', 'azj@163.com']))
    3、
    a = {}.fromkeys(('azj', 'tom', 'lili'), 11)
    {'azj': 11, 'tom': 11, 'lili': 11}

>>> a = {'name': 'azj', 'age': 23}
>>> a
{'name': 'azj', 'age': 23}
>>> '%(name)s:%(age)s' % a
'azj:23'

修改:
adict = {'name': 'azj', 'age': 26}

adict
{'name': 'azj', 'age': 26}
adict['age'] = 22
adict
{'name': 'azj', 'age': 22}
adict['phone'] = '15901037927' #字典里有这个字段修改,没有则添加该字段
adict
{'name': 'azj', 'age': 22, 'phone': '15901037927'}

删除:
adict
{'name': 'azj', 'age': 22, 'phone': '15901037927'}

adict.pop('name') #pop默认弹出并删除最后一项,在字典里应为字典是无序的所以需要指定弹出的字段信息
'azj'
adict
{'age': 22, 'phone': '15901037927'}
adict.popitem() ###随机删除并弹出一项内容
('phone', '15901037927')
adict
{'age': 22}
adict.clear() #清空列表
adict
{}
del adict #删除列表
adict

len(字典)    #统计字典内的元素数目
>>> len(adict)
2

字典的复制:

a = {'name': 'azj', 'age': 23}
a
{'name': 'azj', 'age': 23}
b = a #内容赋值,指向相同的内存空间
b
{'name': 'azj', 'age': 23}
a
{'name': 'azj', 'age': 23}
id(a)
140165656248536
id(b)
140165656248536
c = a.copy()
c
{'name': 'azj', 'age': 23}
id(c)
140165656248752

XXX.get('key',[]) #列出字典的value,如果没有该key则默认返回none,自定义返回信息[]

dict
{'name': 'azj', 'age': 26}
dict.pop('age')
26
dict
{'name': 'azj'}
dict.get('name')
'azj'
dict.get('age')
dict.get('age', 'not found')
'not found'

XXX.setdefault() #当字典里面没有该值的情况下进行添加,有的话则无法添加

dict
{'name': 'azj'}
dict.setdefault('age', 26)
26
dict
{'name': 'azj', 'age': 26}
dict.setdefault('age', 25)
26
dict
{'name': 'azj', 'age': 26}

dict.keys() #列出当前字典所有的key
dict_keys(['name', 'age'])
dict.values() #列出当前字典的所有value
dict_values(['azj', 26])

dict.items() #列出当前字典的key和value
dict_items([('name', 'azj'), ('age', 26)])

##key,value翻转

{value:key for key, value in dict.items()}
{'azj': 'name', 26: 'age'}
#互换的时候注意,value相同会产生元素丢失的现象
a = {}.fromkeys(('tom', 'bob', 'lili'), 18)
a
{'tom': 18, 'bob': 18, 'lili': 18}
{val: key for key, val in a.items()}
{18: 'lili'}

字典的拼接:

a = {'name': 'azj'}
a
{'name': 'azj'}
b = {'age': 26}
a.update(b)
a
{'name': 'azj', 'age': 26}

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯