Python中的 Set 与 dict


Posted in Python onMarch 13, 2022

一、Set 集合类型

Set 集合类型 (交差并补) 特点 :无序 , 自动去重

  • 集合用{}表示,元素间用逗号分隔
  • 建立集合类型用{}或set()
  • 建立空集合类型,必须使用set
  • 定义一个普通的集合
setvar = {"shy","肉鸡","gala","小虎","狼牙山五壮士"}
print(setvar , type(setvar) )        //打印出来随机排列,无序

可以获取其中的元素吗? 不行
 print(setvar[0])                    // error
 
可以修改其中的元素吗? 不行
 setvar[0] = "嘻嘻"                 // error

  setvar = {"shy","肉鸡","gala","小虎","牙山","shy"}
  print(setvar)
  • 定义一个空集合
setvar = {}                       # 字典     //{} <class 'dict'>

setvar = set()                   # 空集合   //srt()  <class 'dict'>
print(setvar , type(setvar))

dict 字典类型 键值对存储的数据,可获取,可修改 表面上有序,实际存储时无序

  • python3.5之前 完全无序, 在python3.5之后 表面上有序,存储时无序
  • 语法:{键1:值1 ,键2:值2 , 键3:值3 … }
  • 映射是一种键(索引) 和值(数据)的对应
"streetAddr" : "中关村南大街55号"
"city" : "北京市"
  • 定义一个空的字典
dictvar = {}
print(dictvar , type(dictvar))
  • 定义一个普通字典
dictvar = {"top":"shy","middle":"肉鸡","bottom":"gala","support":"小明","jungle":"wei"}
print(dictvar)
  • 获取字典中的数据
res = dictvar["support"]
res = dictvar["jungle"]
print(res)
  • 修改字典中的数据
dictvar["bottom"] = "jacklove"
print(dictvar)

二、set 和 dict 的数据类型限制

  • 字典的键 和 集合的值 有数据类型限制只能使用如下类型: (不可变的数据类型 可哈希的数据类型)
  • Number(int float bool complex) , str , tuple
  • 可变数据: set dict list

字典的键是唯一的,字典的值没有数据类型的限制;

字典:

dictvar = {1:1 , "222":2 , 3.14:4 , 5-90j:5  , False:999 , (1,2,3,4,5):[1,2,4] }
print(dictvar , type(dictvar))

集合:

setvar  = {1,3.4,"sd",(1,2,3),4-10j,False }  //如果是True,则会被去重
print(setvar)  

(了解) 哈希算法:

  • 为了更加均匀的把数据分配到内存中,于是采用哈希算法,以减少哈希碰撞.更快的存储数据
  • 哈希算法要求数据类型只能是不可变的数据 (Number str  tuple) ,也叫可哈希数据类型
  • 哈希算法存储的数据都是无序的,所以字典和集合无序;

 到此这篇关于Python中的 Set 与 dict的文章就介绍到这了,更多相关Python Set 与 dict内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python编码时应该注意的几个情况
Mar 04 Python
Python本地与全局命名空间用法实例
Jun 16 Python
Python随机读取文件实现实例
May 25 Python
Python基于分水岭算法解决走迷宫游戏示例
Sep 26 Python
python实现微信小程序自动回复
Sep 10 Python
Python3实现的回文数判断及罗马数字转整数算法示例
Mar 27 Python
django项目中使用手机号登录的实例代码
Aug 15 Python
python的sys.path模块路径添加方式
Mar 09 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
Jun 09 Python
用Python写一个简易版弹球游戏
Apr 13 Python
python 算法题——快乐数的多种解法
May 27 Python
Python中tqdm的使用和例子
Sep 23 Python
Python echarts实现数据可视化实例详解
分享3个非常实用的 Python 模块
Mar 03 #Python
详解在OpenCV中如何使用图像像素
 Python 中 logging 模块使用详情
Mar 03 #Python
分享7个 Python 实战项目练习
Mar 03 #Python
python工具dtreeviz决策树可视化和模型可解释性
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
You might like
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
2007/08/19 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
2009/12/29 PHP
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
PHP版国家代码、缩写查询函数代码
2011/08/14 PHP
php引用计数器进行垃圾收集机制介绍
2012/09/19 PHP
CodeIgniter控制器之业务逻辑实例分析
2016/01/20 PHP
php将服务端的文件读出来显示在web页面实例
2016/10/31 PHP
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
javascript相关事件的几个概念
2015/05/21 Javascript
JQuery实现鼠标移动图片显示描述层的方法
2015/06/25 Javascript
javascript 中的 delete及delete运算符
2015/11/15 Javascript
JavaScript Split()方法
2015/12/18 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
2015/12/29 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
详解js树形控件—zTree使用总结
2016/12/28 Javascript
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
重新认识vue之事件阻止冒泡的实现
2018/08/02 Javascript
js计算两个日期间的天数月的实例代码
2018/09/20 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
通过JS判断网页是否为手机打开
2020/10/28 Javascript
linux下python抓屏实现方法
2015/05/22 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
CSS3实现水平居中、垂直居中、水平垂直居中的实例代码
2020/02/27 HTML / CSS
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
研讨会主持词
2014/04/02 职场文书
融资租赁计划书
2014/04/29 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
体育馆的标语
2014/06/24 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
2016年“我们的节日·清明节”活动总结
2016/04/01 职场文书
2019财务转正述职报告
2019/06/27 职场文书