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数据结构之二叉树的遍历实例
Apr 29 Python
20个常用Python运维库和模块
Feb 12 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
Jul 25 Python
python并发和异步编程实例
Nov 15 Python
提升Python效率之使用循环机制代替递归函数
Jul 23 Python
django2.2安装错误最全的解决方案(小结)
Sep 24 Python
python numpy之np.random的随机数函数使用介绍
Oct 06 Python
Python 取numpy数组的某几行某几列方法
Oct 24 Python
Python命令行click参数用法解析
Dec 19 Python
浅析Python3 pip换源问题
Jan 06 Python
基于Tensorflow批量数据的输入实现方式
Feb 05 Python
python geopandas读取、创建shapefile文件的方法
Jun 29 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
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
php中mysql操作buffer用法详解
2015/03/19 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
基于PHP+mysql实现新闻发布系统的开发
2020/08/06 PHP
Jquey拖拽控件Draggable使用方法(asp.net环境)
2010/09/28 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
2017/09/11 Javascript
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
JS使用iView的Dropdown实现一个右键菜单
2019/05/06 Javascript
Python 匹配任意字符(包括换行符)的正则表达式写法
2009/10/29 Python
Python自动调用IE打开某个网站的方法
2015/06/03 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
python bmp转换为jpg 并删除原图的方法
2018/10/25 Python
Python Celery多队列配置代码实例
2019/11/22 Python
python入门之基础语法学习笔记
2020/02/08 Python
CSS实现雨滴动画效果的实例代码
2019/10/08 HTML / CSS
本科生求职简历的自我评价
2013/10/21 职场文书
小学生打架检讨书
2014/01/26 职场文书
绿色小区申报材料
2014/08/22 职场文书
公司周年庆活动方案
2014/08/25 职场文书
北京英语导游词
2015/02/12 职场文书
秋收起义观后感
2015/06/11 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书
文艺有韵味的诗句(生命类、亲情类...)
2019/07/11 职场文书
2019年作为一名实习生的述职报告
2019/09/29 职场文书
JavaScript 去重和重复次数统计
2021/03/31 Javascript
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android
浅谈Node的内存泄露问题
2022/05/06 NodeJs