目录

  • 集合
  • 字典

集合

无序(元素位置不固定)、唯一(相每个元素唯一)、可变类型(元素可变)。

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学习笔记(二)——散列类型(字典、集合)相关推荐

  1. python学习笔记(二) 基本运算

    python学习笔记(二) 基本运算 1. 条件运算 基本语法 if condition1: do somethings1elif condition2: do somethings2else: do ...

  2. Python学习笔记第二次之列表、字典、集合、数据结构应用之多级菜单

    欢迎大家来我的博客园:https://www.cnblogs.com/xiaomingdexiaoshubao/articles/9249773.html 模块初识 os import oscmd_r ...

  3. C# 学习笔记:散列与哈希

    哈希表 我们在C#中,除了数据结构的顺序表链表栈队列之外,还有一个比较重要的就是哈希表,也就是数据结构中的散列表. 散列表:建立一个确定的对应关系H,使得每个关键码key都和它唯一的存贮位置H(key ...

  4. python学习笔记二

    1 正则 1-1 普通字符 s1 = 'asd25454655js6565askJ\nNKJLasd5165123' # 1 匹配单个大写英文字母 obj = re.compile('[A-Z]') ...

  5. (10.1)Python学习笔记二

    1.在项目工程中要模块化测试一个开发的功能,在测试通过后交付给项目组其他人员继续开发.要保证代码开发的性能和效率以及可扩展性. 2.项目工程中的文件夹分类要功能模块明确清晰,在python中引入某一个 ...

  6. Python学习笔记:1.2.8 字典

    本文是学习齐伟老师的<python全栈工程师>课程的笔记,欢迎学习交流.同时感谢齐老师的精彩传授! 一.课程目标 掌握字典的定义方法 掌握字典的基本操作 掌握字典的方法 二.详情解读 1. ...

  7. python学习笔记二— 循环

    程序结构 •三种结构◾顺序 ◾循环 ◾分支 分支结构 •分支结构基本语法◾if (如果) 条件表达式: ◾语句1 ◾语句2 ◾语句3 ◾- •条件表达式就是计算机结果必须为 布尔值 的表达式 •表达式 ...

  8. 潭州教育-Python学习笔记@基本数据类型:元祖字典

    Python基本数据还有元祖和字典 元祖(tuple)是Python的基本数据类型,用()表示,元素之间用','隔开,元祖一旦创建,就不能改变 In [45]: s = ('Stone','Stone ...

  9. python学习笔记(二十三) -- 多进程和多线程

    目录 多线程多进程的意义 多进程的使用 方式一(fork):  只能在Unix/Linux/Mac系统下执行,windows不可以 方式二(multiprocessing.Process): 全平台通 ...

最新文章

  1. 【实习记】2014-08-20实习的mini项目总结
  2. iis日志php,win2008 iis7开启日志按日期分割
  3. iOS项目的目录结构和开发流程
  4. boost::adaptors::formatted相关的测试程序
  5. java自动生成类_自动生成优化的Java类专业知识
  6. php 面向对象基础,PHP 面向对象基础
  7. paip.提升用户体验------c++ 拖曳使用总结..
  8. (转)这是券商对金融科技最看重的一年!
  9. optisystem仿真 光源线宽与干涉
  10. 计算机服务无法启动,Win7系统下windows firewall服务无法启动怎么解决【图文】
  11. 用计算器算以2为底的对数
  12. 艺体计算机教师考核细则,音体美教师考核办法
  13. imx8mn同核异构开发cortex-M7
  14. 好数对的数目(C++)
  15. 收藏!人工智能学习路径总结
  16. Jupyter notebook中的Markdown语法:表格
  17. Objective-C学习资源
  18. background-repeat
  19. 极光IM如何集成到项目
  20. Java—输入数字星期,输出英文(switch语句)

热门文章

  1. 11. Leetcode 713. 乘积小于K的子数组 (数组-同向双指针-滑动窗口)
  2. 混合粒子群算法原理通俗讲解
  3. 运筹学(最优化理论)学习笔记 | 共轭梯度法
  4. 深度学习核心技术精讲100篇(二十四)-简单谈下深度学习在中文分词中的应用
  5. MATLAB数据处理快速学习教程
  6. html5常见面试题,HTML5常见面试题及答案
  7. java多对多关联数据操作,hibernate实施多对多关联查询时,关联表数据被删除
  8. mysql可视化工具-navicat的下载和使用
  9. 【算法与数据结构】最大子序列和问题
  10. 连环清洁工之特殊任务--java资源如何关闭?