Python之路-基础数据类型之字典 集合
字典的定义-dict
字典的操作
增
dic = {1:'好',2:'美',3:'啊'}
dic[4] = '哈哈' # 4这个key值不存在,所以新增
print(dic)
输出结果:{1: '好', 2: '美', 3: '啊', 4: '哈哈'}
dic[4] = '你笑啥' # 4这个key值存在,所以修改
print(dic)
输出结果:{1: '好', 2: '美', 3: '啊', 4: '你笑啥'}
dic = {1:'好',2:'美',3:'啊'}
dic.setdefault(4)
print(dic)
返回结果:{1: '好', 2: '美', 3: '啊', 4: None}
dic = {1:'好',2:'美',3:'啊'}
dic.setdefault(4,'hahh')
print(dic)
返回结果:{1: '好', 2: '美', 3: '啊', 4: 'hahh'}
dic = {}
lst = ['hello','world']
dic = dic.fromkeys(lst,[1,2,3,4])
print(dic)
dic['hello'].append(5)
print(dic)
输出结果: #列表是可变的,所以在输出的结果中都发生了变化
{'hello': [1, 2, 3, 4], 'world': [1, 2, 3, 4]}
{'hello': [1, 2, 3, 4, 5], 'world': [1, 2, 3, 4, 5]}
dic = {}
lst = ['hello','world']
dic = dic.fromkeys(lst,'he')
print(dic)
dic['hello'] = dic['hello'] + 'l'
print(dic)
输出结果:
{'hello': 'he', 'world': 'he'}
{'hello': 'hel', 'world': 'he'}
删
dic = {1:'好',2:'美',3:'啊'}
print(dic.pop(2))# 可返回删除的值
print(dic.pop(5,"找不到呀"))#找不到时会报错,可在括弧第二个区域输入提示语句
改
dic = {1:'好',2:'美',3:'啊'}
dic1 = {1:'不好',5:'哈哈'}
dic.update(dic1)#根据括弧里面的修改,若有就改,没有就新增
print(dic)
运行结果:{1: '不好', 2: '美', 3: '啊', 5: '哈哈'}
查
dic = {1:'好',2:'美',3:'啊'}
print(dic.get(3))
print(dic.get(5,'没有啊'))# 若不存在则返回None,可添加提示语
运行结果:
啊
没有啊
字典的其他操作
dic = {1:'好',2:'美',3:'啊'}
print(dic.keys()) #高仿列表 结果是元组
print(dic.values()) #高仿列表 结果是元组
print(dic.items()) #元组形式
不能使用下标
输出结果:
dict_keys([1, 2, 3])
dict_values(['好', '美', '啊'])
dict_items([(1, '好'), (2, '美'), (3, '啊')])
字典的嵌套
不再详述
集合的定义-set
集合的操作
增
se = {0,1,2,'h','lol',(1,2)}
se.add(3)
print(se)
运行结果:{0, 1, 2, (1, 2), 3, 'lol', 'h'}
se = {1,2,'ha','lal',4}
msg = '你好啊'
se.update(msg)#迭代更新,跟dic.fromlkeys()有点像
print(se)
运行结果:{1, 2, '你', 4, '好', '啊', 'lal', 'ha'}
删
se = {1,2,'ha','lal',0,4}
se.pop()
print(se)
运行结果:{1, 2, 4, 'lal', 'ha'}
se = {1,2,'ha','lal',0,4}
se.remove(1)
print(se)
运行结果:{0, 2, 4, 'ha', 'lal'}
集合的其他操作
交集
se = {1,2,'ha','lal',0,4}
se1 = {1,3,'ha','lal',0,4}
print(se & se1)
print(se.intersection(se1))
并集
se = {1,2,'ha','lal',0,4}
se1 = {1,3,'ha','lal',0,4}
print(se | se1)
print(se.union(se1))
差集
se = {1,2,'ha','lal',0,4}
se1 = {1,3,'ha','lal',0,4}
print(se - se1)
print(se.difference(se1))
输出结果:{2}
反交集
se = {1,2,'ha','lal',0,4}
se1 = {1,3,'ha','lal',0,4}
print(se ^ se1)
print(se.symmetric_difference(se1))
运行结果:{2, 3}
子集
se = {1,2,'ha','lal',0,4}
se1 = {1,3,'ha','lal',0,4}
print(se < se1)
print(se.issubset(se1))
运行结果:False
超级
se = {1,2,'ha','lal',0,4}
se1 = {1,3,'ha','lal',0,4}
print(se > se1)
print(se.issuperset(se1))
运行结果:False
forzenset(可迭代对象)
se = {1,2,'ha','lal',0,4}
lst = [1,2,3,4]
dic = {1:'hao',2:'buhao'}
se1 = frozenset(se)
lst1 = frozenset(lst)
dic1 = frozenset(dic)
print(se1)
print(lst1)
print(dic1)
运行结果:
frozenset({0, 1, 2, 'ha', 4, 'lal'})
frozenset({1, 2, 3, 4})
frozenset({1, 2})
Python之路-基础数据类型之字典 集合的更多相关文章
- 百万年薪python之路 -- 基础数据类型的补充
基础数据类型的补充 str: 首字母大写 name = 'alexdasx' new_name = name.capitalize() print(new_name) 通过元素查找下标 从左到右 只查 ...
- Python之路-基础数据类型之列表 元组
列表的定义 列表是Python基础数据类型之一,它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: lst = [1,2,'你好','num'] 列表的索引和切片 与字符串类似, ...
- 百万年薪python之路 -- 基础数据类型的补充练习
1.看代码写结果 v1 = [1,2,3,4,5] v2 = [v1,v1,v1] v1.append(6) print(v1) print(v2) [1,2,3,4,5,6] [[1,2,3,4,5 ...
- python之路--基础数据类型的补充与深浅copy
一 . join的用法 lst =['吴彦祖','谢霆锋','刘德华'] s = '_'.join(lst) print(s) # 吴彦祖_谢霆锋_刘德华 # join() "*" ...
- Python之路-基础数据类型之字符串
字符串类型 字符串是不可变的数据类型 索引(下标) 我们在日常生活中会遇到很多类似的情况,例如吃饭排队叫号,在学校时会有学号,工作时会有工号,这些就是一种能保证唯一准确的手段,在计算机中也是一样,它就 ...
- Python基础数据类型之字典
基础数据类型之字典 ps:数据类型划分:可变数据类型和不可变数据类型. 不可变数据类型:元组(tupe).布尔值(bool).整数型(int).字符串(str).不可变数据类型也称为可哈希. 可变 ...
- Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice)
Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Py ...
- Python基础学习Day7 基础数据类型的扩展 集合 深浅copy
一.基础数据类型的扩展 1.1GBK ---> UTF - 8 # str --->bytes s1 = '太白' # 字符串是unicode编码 b1 = s1.encode('gbk' ...
- python变量与基础数据类型
一.什么是变量 变量是什么? 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用.在python中一切都是变量. 1.python变量命名的要求 1,必须有数字,字母,下划线任意组合. ...
随机推荐
- Zynq7000开发系列-6(QT开发环境搭建:Ubuntu、Zynq)
操作系统:Ubuntu14.04.5 LTS 64bit Qt:Qt 5.4.2 (qt-opensource-linux-x64-5.4.2.run.qt-everywhere-opensource ...
- Web之localStorage
localStorage: 1.localStorage拓展了cookie的4K限制 2.localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库 ...
- [BZOJ5219]最长路径
Description 在Byteland一共有n个城市,编号依次为1到n,它们之间计划修建n(n-1)/2条单向道路,对于任意两个不同的点i和 j,在它们之间有且仅有一条单向道路,方向要么是i到j, ...
- linux进行文件vim编辑时没有退出文件直接关闭出现E325: ATTENTION Found a swap file by the name "/usr/local/php/etc/.php.ini.swp"
E325: ATTENTIONFound a swap file by the name "/usr/local/php/etc/.php.ini.swp" ow ...
- 088 Merge Sorted Array 合并两个有序数组
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1中,使得 num1 成为一个有序数组.注意:你可以假设 nums1有足够的空间(空间大小大于或等于m + n)来保存 ...
- jsp get与post请求乱码问题
乱码问题01:<%reques.setCharacterEncoding("utf-8");%> 02:get请求乱码 001.:String 编码之后的字符串 = n ...
- WebForm随笔
一般处理程序中获取页面所传的值:int id = Convert.ToInt32(context.Request["id"]); 后台获取页面所传的值:int id = Conve ...
- React 实践记录 03 React router
Introduction 本文主要参考了react router 的官方文档. React Router是一套完整的配合React的路由解决方案,可能你已经知道前端路由,或者知道后端有路由的概念,如下 ...
- js图片预加载以及延迟加载
当我们需要做图片轮播的时候,如果让图片提前下载到本地,用浏览器缓存起来,我们可以用Image对象: function preLoadImg(){ var img=new Image(); img.sr ...
- Smack+OpenFire搭建IM通信,包含心跳和自动重连(Android实现)
Smack是一个开源,易于使用的XMPP(jabber)客户端类库.优点:简单的,功能强大,给用户发送信息只需三行代码便可完成.缺点:API并非为大量并发用户设计,每个客户要1个线程,占用资源大.Op ...