首页 文章 精选 留言 我的

精选列表

搜索[python],共10000篇文章
优秀的个人博客,低调大师

Python入门(七)无序的字典和集合不容小觑

1.字典 访问字典里的参数 >>> dict1= {'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'} >>> dict1['music'] KeyError: 'music' 这里报错是因为,字典中并没有key值为 'music',为了避免 KeyError 发生,有两个办法: 先用 in 操作符判断一下 key 是否存在: >>> 'music' in dict1 False 用 get() 方法,在Key不存在的时候,返回None: >>> dict1= {'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'} >>> print (dict1.get('music')) None 修改字典 >>> dict1= {'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'} >>> dict1['singer']='kesha' >>> dict1['song']='Rainbow' >>> dict1 {'singer': 'kesha', 'sex': 'female', 'song': 'Rainbow'} 删除字典元素 >>> dict1= {'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'} >>> del dict1['sex'] #删除键是'sex'的条目 >>> dict1 {'singer': 'GEM', 'song': '查克靠近'} >>> dict1.clear() # 清空词典中所有条目 >>> dict1 {} >>> del dict1 # 删除词典 >>> dict1 NameError: name 'dict1' is not defined 字典的BIF 比较字典大小:operator() >>> import operator #首先要导入运算符模块 >>> operator.gt(dict1,dict2) #意思是greater than(大于) False >>> operator.ge(dict1,dict2) #意思是greater and equal(大于等于) True >>> operator.eq(dict1,dict2) #意思是equal(等于) True >>> operator.le(dict1,dict2) #意思是less and equal(小于等于) True >>> operator.lt(dict1,dict2) #意思是less than(小于) False 字典的内置方法 浅拷贝字典,注和直接赋值不同:copy() >>> dict1= {'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'} >>> dict2=dict1 >>> dict3=dict1.copy() >>> dict1['singer']='kesha' >>> dict1['song']='Rainbow' >>> dict1 #dict1改变 {'singer': 'kesha', 'sex': 'female', 'song': 'Rainbow'} >>> dict2 #直接赋值得到的dict2跟着改变 {'singer': 'kesha', 'sex': 'female', 'song': 'Rainbow'} >>> dict3 #浅拷贝得到的dict3保持不变 {'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'} 创建一个新字典,以序列seq中元素做字典的键,字典所有键对应的初始值为value:fromkeys(seq[, value]) >>> seq = ('singer', 'sex', 'song') >>> dict1 = dict.fromkeys(seq) >>> dict1 {'singer': None, 'sex': None, 'song': None} >>> dict2 = dict.fromkeys(seq,2) >>> dict2 {'singer': 2, 'sex': 2, 'song': 2} -以列表返回可遍历的(键, 值) 元组数组:items() >>> dict1= {'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'} >>> dict1.items() dict_items([('singer', 'GEM'), ('sex', 'female'), ('song', '查克靠近')]) 把字典dict2的键值对更新到dict里:update(dict2) >>> dict1= {'singer': 'GEM', 'sex': 'female'} >>> dict2= {'song': '查克靠近'} >>> dict1.update(dict2) >>> dict1 {'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'} 以列表返回字典中的所有值:values() >>> dict1= {'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'} >>> list(dict1.values()) ['GEM', 'female', '查克靠近'] 删除字典给定键 key 所对应的值,返回值为被删除的值:pop(key[,default]) >>> dict1= {'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'} >>> pop1=dict1.pop('singer') >>> pop1 'GEM' 随机返回并删除字典中的一对键和值(一般删除末尾对):popitem() >>> dict1= {'singer': 'GEM', 'sex': 'female', 'song': '查克靠近'} >>> pop1=dict1.popitem() >>> pop1 ('song', '查克靠近') >>> dict1 {'singer': 'GEM', 'sex': 'female'} 任何情况下都可以使用此种方法吗? >>> dict2={} >>> pop2=dict2.popitem() KeyError: 'popitem(): dictionary is empty' 上例说明,如果字典已经为空,调用此方法,就发生Error。 2.集合 set的内部结构和dict很像,唯一区别是不存储value,也就是说当用花括号括起来一堆没有映射关系的元素时就创建了一个集合。 访问集合里的参数 和字典一样,我们可以先判断要访问的参数是否在集合内: >>> set1= {'酷狗音乐', '网易云音乐', '虾米音乐'} >>> 'QQ音乐' in set1 False 更新集合 用add()添加元素,注意如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了。 >>> set1= {'酷狗音乐', '网易云音乐', '虾米音乐'} >>> set1.add('QQ音乐') >>> set1 {'QQ音乐', '酷狗音乐', '网易云音乐', '虾米音乐'} 用remove()删除元素,注意如果删除的元素不存在set中,会出现Error: >>> set1= {'酷狗音乐', '网易云音乐', '虾米音乐'} >>> set1.remove('QQ音乐') KeyError: 'QQ音乐' 集合的内置方法 以下方法应用都比较简单,而且很多前面都已经提到过,所以就不在一一举例。 END!

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册