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 27 Python
Python中的anydbm模版和shelve模版使用指南
Jul 09 Python
Python查询IP地址归属完整代码
Jun 21 Python
Python虚拟环境的原理及使用详解
Jul 02 Python
Apache部署Django项目图文详解
Jul 30 Python
python实现的config文件读写功能示例
Sep 24 Python
解决python 读取excel时 日期变成数字并加.0的问题
Oct 08 Python
Python中低维数组填充高维数组的实现
Dec 02 Python
Python操作redis和mongoDB的方法
Dec 19 Python
终于搞懂了Keras中multiloss的对应关系介绍
Jun 22 Python
在pyCharm中下载第三方库的方法
Apr 18 Python
Python Django搭建文件下载服务器的实现
May 10 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
PHP 日期时间函数的高级应用技巧
2009/10/10 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
2016/05/06 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
2018/09/29 PHP
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
jQuery中val()方法用法实例
2014/12/25 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
全面解析Bootstrap中nav、collapse的使用方法
2016/05/22 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
微信小程序 教程之模板
2016/10/18 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
Angular X中使用ngrx的方法详解(附源码)
2017/07/10 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
微信小程序实现即时通信聊天功能的实例代码
2018/08/17 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
javascript 易错知识点实例小结
2020/04/25 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
Python解析树及树的遍历
2016/02/03 Python
使用Python读取大文件的方法
2018/02/11 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
python实现简单图片物体标注工具
2019/03/18 Python
python实现文件助手中查看微信撤回消息
2019/04/29 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
2020/07/06 Python
全球度假村:Club Med
2017/11/27 全球购物
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
2015/11/10 面试题
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
肯尼迪就职演说稿
2013/12/31 职场文书
经营理念口号
2014/06/21 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
2016党员干部政治学习心得体会
2016/01/23 职场文书
Win11 Build 21996.1 Dev版怎么样? win11系统截图欣赏
2021/11/21 数码科技