文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

python - 字典

2023-01-31 02:07

关注


*********************字典******************


字典是python中唯一的映射类型,key-value(哈希表),字典
对象是可变的,但key必须用不可变对象。
字典是无序的。


*)字典的创建
1.赋值创建字典,key-value,键值对

In [4]: d = {'key':'value1','key2':'value2'}

In [5]: type(d)
Out[5]: dict

2.工厂法创建字典

In [6]: d = dict(user1='123',user2='456',user3='789')

In [7]: type(d)
Out[7]: dict
In [8]: print d
{'user2': '456', 'user3': '789', 'user1': '123'}

3.通过内建方法fromkeys创建字典
字典中的key有相同的value值,默认为None

In [9]: print {}.fromkeys('hello')
{'h': None, 'e': None, 'l': None, 'o': None}

In [10]: print {}.fromkeys(['user1','user2'],'123')
{'user2': '123', 'user1': '123'}


Screenshot from 2018-01-07 20-13-05.png


应用案例:生成多个银行卡号,并初始化程序为‘000000’
卡号由6位组成,前3位是610,后面以此为001,002,003......


Screenshot from 2018-01-07 20-33-51.png


*)字典值的访问


•直接通过key访问

Screenshot from 2018-01-07 20-40-05.png

循环遍历访问



Screenshot from 2018-01-07 20-41-13.png


-字典不能索引和切片,因为字典是无序的数据类型;
-字典不支持重复和连接;
-字典支持成员操作符,判断字典的key值是否在字典中存在;in,not in

字典的增删改查

***增
In [16]: services = {'ftp':[20,21]}
#通过字典名[key]=value,将key-value添加到字典中;
In [17]: services['http'] = [80,8080]

In [18]: print services
{'ftp': [20, 21], 'http': [80, 8080]}


Screenshot from 2018-01-07 20-47-33.png

#update方法实现添加:key存在,覆盖value值,否则,添加

Screenshot from 2018-01-07 20-52-51.png

Screenshot from 2018-01-07 20-55-20.png

#setdefault实现添加:key存在,不覆盖value值,否则,添加


Screenshot from 2018-01-07 21-09-27.png

***改
update
•dic[key] = value

***查

In [78]: dic.keys()  查看key值

In [79]: dic.values() 查看values值


Screenshot from 2018-01-07 21-20-54.png



In [85]: dic.items()  查看  key - value 值


In [104]: dic.has_key('age')  查看key是否存在
Out[104]: True

In [105]: dic.get('age') 查看指定key对应的value值;若key存在返回value值;若不存在,不报错
Out[105]: 'no'

In [106]: dic.get('agee')


**循环遍历字典
#默认情况下遍历字典的key值;

Screenshot from 2018-01-07 21-31-06.png


Screenshot from 2018-01-07 21-39-14.png

***删

• dic.pop(key)
根据key值删除字典的元素;

In [109]: dic = {'name':'huan','age':'no','habby':'play'}

In [110]: dic.pop('age')
Out[110]: 'no'

• dic.popitem()
随机删除字典元素,返回(key,value)
In [111]: dic.popitem()
Out[111]: ('name', 'huan')

•dic.clear()
删除字典中的所有元素
In [112]: dic.clear()

•del dic
删除字典本身
In [113]: del dic


Screenshot from 2018-01-07 21-50-37.png


案例:
实现四则运算
-用户分别输入第一个数字,运算操作符,第三个数字;
-根据用户的运算操作打印出运算结果;


Screenshot from 2018-01-07 21-59-01.png



Screenshot from 2018-01-07 21-59-10.png

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

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

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

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

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

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

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

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