python学习笔记(二)——散列类型(字典、集合)
目录
- 集合
- 字典
集合
无序(元素位置不固定)、唯一(相每个元素唯一)、可变类型(元素可变)。
set | 函数方法 | 注释 |
---|---|---|
增 | add | 将元素添加到集合中。 |
删 | pop | 删除并返回任意set元素。 |
remove | 从集合中删除一个元素; 它必须是成员。 | |
改 | update | 用本身和其他元素的并集更新集合 |
1、定义:
#方法一 直接赋值
>>> set1 = {1,2,3,4}
>>> type(set1)
<class 'set'>
>>> set1
{1, 2, 3, 4}#方法二 s=set()赋值set()
>>> set2 = set()
>>> type(set2)
<class 'set'>
2、增
#方法一 .add() 每次只能添加一个元素
>>> set2.add(1)
>>> set2
{1}#方法二 .update([元素1,元素2···]) 可以同时添加多个元素
>>> set2.update([2,3,4])
>>> set2
{1, 2, 3, 4}
3、删
#方法一 .pop() 随机删除
>>> set1
{1, 2, 3, 4, 5}
>>> set1.pop()
1
>>> set1
{2, 3, 4, 5}#方法二 .remove(元素) 指定元素删除
>>> set1
{2, 3, 4, 5}
>>> set1.remove(5)
>>> set1
{2, 3, 4}#方法三 .clear()清空集合
>>> set1
{2, 3, 4}
>>> set1.clear()
>>> set1
set()
4、改:集合不能修改指定元素,可以先用remove删除指定元素,然后再添加
5、集合运算
运算符操作 | python运算符 |
---|---|
交集 | & |
并集 | 丨 |
差集 | - |
set1 = {1,2.5,True,complex(2,3)}
set2 = {3,3.4,True,complex(1,3)}
print('集合1:',set1)
print('集合2:',set2)
print('交集:',set1&set2)
print('并集:',set1|set2)
print('差集set1-set2:',set1-set2)
print('差集set2-set1:',set2-set1)结果:
集合1: {1, 2.5, (2+3j)}
集合2: {3.4, True, (1+3j), 3}
交集: {1}
并集: {1, 2.5, 3.4, 3, (1+3j), (2+3j)}
差集set1-set2: {2.5, (2+3j)}
差集set2-set1: {3, (1+3j), 3.4}
字典
注意:字典的key值唯一(不能重复),但值可以不唯一
dict | 函数方法 | 注释 |
---|---|---|
增 | setdefault | 有则查,无则增 |
改 | update | 有则改,无则增 |
删 | pop | 查出指定key的键值对 |
popitem | 返回并删除字典中的最后一对键和值 | |
查 | get | 获取指定key 对应的value,如果key不存在放回none |
keys | 取出所有的key | |
values | 取出所有的值 | |
items | 取出所有的键值对 |
1、定义:
#方法一 di = {key:value}键值对形式
>>> dict={'name':'zhangsan','age':'18'}
>>> dict
{'name': 'zhangsan', 'age': '18'}#方法二 di = {} 直接赋值创建
>>> dict2={}
>>> type(dict2)
<class 'dict'>
2、增
#方法一 di[key] = value di是自己定义的变量名,没有对应的key时为增,有的时候是改
>>> dict2['name']='lisi'
>>> dict2
{'name': 'lisi'}#方法二 .setdefault(key,value) 有则查,无则增
>>> dict2
{'name': 'lisi'}
>>> dict2.setdefault('name','lisi') #name存在,查找name对应值
'lisi'
>>> dict2.setdefault('age','14') #age不存在,添加
'14'
>>> dict2
{'name': 'lisi', 'age': '14'}
3、删
#方法一 .pop(key) 删除指定的值
>>> dict2
{'name': 'lisi', 'age': '14'}
>>> dict2.pop('age')
'14'
>>> dict2
{'name': 'lisi'}#方法二 .popitem() 删除字典最后一对键值对
>>> dict2
{'name': 'lisi', 'age': '14', 'from': 'hujian'}
>>> dict2.popitem()
('from', 'hujian')
>>> dict2
{'name': 'lisi', 'age': '14'}#方法三 .clear() 清空字典
>>> dict2
{'name': 'lisi', 'age': '14'}
>>> dict2.clear()
>>> dict2
{}
4、改
#方法一 .update ({key:value}) 有则改,无则添加
>>> dict
{'name': 'zhangsan', 'age': '20'}
>>> dict.update({'age':'18'}) #age存在,修改age的value
>>> dict
{'name': 'zhangsan', 'age': '18'}
>>> dict.update({'high':'178'}) #high不存在,添加high
>>> dict
{'name': 'zhangsan', 'age': '18', 'high': '178'}
5、查
#方法一 .[key] 查找显示所有的key值
>>> dict
{'name': 'zhangsan', 'age': '18', 'high': '178'}
>>> dict.keys()
dict_keys(['name', 'age', 'high'])#方法二 .get(key) 获取指定key对应的value
>>> dict
{'name': 'zhangsan', 'age': '18', 'high': '178'}
>>> dict.get('name')
'zhangsan'#方法三 .values() 查找显示所有的value值
>>> dict
{'name': 'zhangsan', 'age': '18', 'high': '178'}
>>> dict.values()
dict_values(['zhangsan', '18', '178'])#方法四 .items() 显示所有键值对
>>> dict
{'name': 'zhangsan', 'age': '18', 'high': '178'}
>>> dict.items()
dict_items([('name', 'zhangsan'), ('age', '18'), ('high', '178')])
python学习笔记(二)——散列类型(字典、集合)相关推荐
- python学习笔记(二) 基本运算
python学习笔记(二) 基本运算 1. 条件运算 基本语法 if condition1: do somethings1elif condition2: do somethings2else: do ...
- Python学习笔记第二次之列表、字典、集合、数据结构应用之多级菜单
欢迎大家来我的博客园:https://www.cnblogs.com/xiaomingdexiaoshubao/articles/9249773.html 模块初识 os import oscmd_r ...
- C# 学习笔记:散列与哈希
哈希表 我们在C#中,除了数据结构的顺序表链表栈队列之外,还有一个比较重要的就是哈希表,也就是数据结构中的散列表. 散列表:建立一个确定的对应关系H,使得每个关键码key都和它唯一的存贮位置H(key ...
- python学习笔记二
1 正则 1-1 普通字符 s1 = 'asd25454655js6565askJ\nNKJLasd5165123' # 1 匹配单个大写英文字母 obj = re.compile('[A-Z]') ...
- (10.1)Python学习笔记二
1.在项目工程中要模块化测试一个开发的功能,在测试通过后交付给项目组其他人员继续开发.要保证代码开发的性能和效率以及可扩展性. 2.项目工程中的文件夹分类要功能模块明确清晰,在python中引入某一个 ...
- Python学习笔记:1.2.8 字典
本文是学习齐伟老师的<python全栈工程师>课程的笔记,欢迎学习交流.同时感谢齐老师的精彩传授! 一.课程目标 掌握字典的定义方法 掌握字典的基本操作 掌握字典的方法 二.详情解读 1. ...
- python学习笔记二— 循环
程序结构 •三种结构◾顺序 ◾循环 ◾分支 分支结构 •分支结构基本语法◾if (如果) 条件表达式: ◾语句1 ◾语句2 ◾语句3 ◾- •条件表达式就是计算机结果必须为 布尔值 的表达式 •表达式 ...
- 潭州教育-Python学习笔记@基本数据类型:元祖字典
Python基本数据还有元祖和字典 元祖(tuple)是Python的基本数据类型,用()表示,元素之间用','隔开,元祖一旦创建,就不能改变 In [45]: s = ('Stone','Stone ...
- python学习笔记(二十三) -- 多进程和多线程
目录 多线程多进程的意义 多进程的使用 方式一(fork): 只能在Unix/Linux/Mac系统下执行,windows不可以 方式二(multiprocessing.Process): 全平台通 ...
最新文章
- 【实习记】2014-08-20实习的mini项目总结
- iis日志php,win2008 iis7开启日志按日期分割
- iOS项目的目录结构和开发流程
- boost::adaptors::formatted相关的测试程序
- java自动生成类_自动生成优化的Java类专业知识
- php 面向对象基础,PHP 面向对象基础
- paip.提升用户体验------c++ 拖曳使用总结..
- (转)这是券商对金融科技最看重的一年!
- optisystem仿真 光源线宽与干涉
- 计算机服务无法启动,Win7系统下windows firewall服务无法启动怎么解决【图文】
- 用计算器算以2为底的对数
- 艺体计算机教师考核细则,音体美教师考核办法
- imx8mn同核异构开发cortex-M7
- 好数对的数目(C++)
- 收藏!人工智能学习路径总结
- Jupyter notebook中的Markdown语法:表格
- Objective-C学习资源
- background-repeat
- 极光IM如何集成到项目
- Java—输入数字星期,输出英文(switch语句)
热门文章
- 11. Leetcode 713. 乘积小于K的子数组 (数组-同向双指针-滑动窗口)
- 混合粒子群算法原理通俗讲解
- 运筹学(最优化理论)学习笔记 | 共轭梯度法
- 深度学习核心技术精讲100篇(二十四)-简单谈下深度学习在中文分词中的应用
- MATLAB数据处理快速学习教程
- html5常见面试题,HTML5常见面试题及答案
- java多对多关联数据操作,hibernate实施多对多关联查询时,关联表数据被删除
- mysql可视化工具-navicat的下载和使用
- 【算法与数据结构】最大子序列和问题
- 连环清洁工之特殊任务--java资源如何关闭?