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,必须有数字,字母,下划线任意组合. ...
随机推荐
- 牛客练习赛42C(枚举权值)
传送门 思路:既然无法枚举每个情况,那就枚举每个出现过的权值,加和.那么每个权值出现了多少次呢?用总数减去一次都选不中这个数的次数即可,类似概率的方法. #include <bits/stdc+ ...
- 084 Largest Rectangle in Histogram 柱状图中最大的矩形
给出 n 个非负整数来表示柱状图的各个柱子的高度,每个柱子紧挨彼此,且宽度为 1 .您的函数要能够求出该柱状图中,能勾勒出来的最大矩形的面积. 详见:https://leetcode.com/prob ...
- 20 个案例教你在 Java 8 中如何处理日期和时间?
前言 前面一篇文章写了<SimpleDateFormat 如何安全的使用?>, 里面介绍了 SimpleDateFormat 如何处理日期/时间,以及如何保证线程安全,及其介绍了在 Jav ...
- Android项目中包名的修改
通常修改包名时会造成R文件错误,并且有时带有原因不明的Manifest文件中多处文本混乱. 所以,将目前认为最为简洁方便的修改包名流程记录如下: 假设我们目前的包名为com.pepper.util,我 ...
- Python3实现自动备份
需求 将重要文件备份到指定目录,存档文件名称为“当前日期.zip”. 前提 1) Windows系统 2) Python 3以上版本 旗舰版 #!usr/bin/python # -*- coding ...
- codevs 1606 台阶
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 话说某牛家门外有一台阶,这台阶可能会很高(总层数<=1000000). 这 ...
- spring 常用问题汇总
2018.02.06 SpringMVC中StringHttpMessageConverter乱码处理 http://blog.csdn.net/wangyangbto/article/details ...
- codeforces Gym 100338E Numbers (贪心,实现)
题目:http://codeforces.com/gym/100338/attachments 贪心,每次枚举10的i次幂,除k后取余数r在用k-r补在10的幂上作为候选答案. #include< ...
- js 前端不调接口直接下载图片
// 下载图片 downPhoto (path) { this.downloadFiles(path) }, // 下载 downloadFiles (content) { console.log(c ...
- hydra 中文文档
hydra(九头蛇)是一款开源的协议爆破工具,功能十分强大!!! 具体使用如下: -R 继续从上一次进度接着破解 -I 忽略已破解的文件进行破解 -S 采用SSL链接 -s 端口 指定非默认服务端 ...