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 实现12306登录功能实例代码
Feb 09 Python
30秒轻松实现TensorFlow物体检测
Mar 14 Python
深入分析python中整型不会溢出问题
Jun 18 Python
Python开启线程,在函数中开线程的实例
Feb 22 Python
python实现可变变量名方法详解
Jul 01 Python
Python使用get_text()方法从大段html中提取文本的实例
Aug 27 Python
python迭代器常见用法实例分析
Nov 22 Python
pytorch下使用LSTM神经网络写诗实例
Jan 14 Python
使用python从三个角度解决josephus问题的方法
Mar 27 Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
Dec 16 Python
Python scrapy爬取起点中文网小说榜单
Jun 13 Python
利用python做数据拟合详情
Nov 17 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:风雨欲来 路在何方?
2006/10/09 PHP
Linux下安装PHP MSSQL扩展教程
2014/10/24 PHP
9个经典的PHP代码片段分享
2014/12/18 PHP
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
PHP自定义多进制的方法
2016/11/03 PHP
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
拖拉表格的JS函数
2008/11/20 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
JS+CSS实现Div弹出窗口同时背景变暗的方法
2015/03/04 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
AngularJs 延时器、计时器实例代码
2017/09/16 Javascript
利用angular、react和vue实现相同的面试题组件
2018/02/19 Javascript
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
python如何求解两数的最大公约数
2018/09/27 Python
pytorch 指定gpu训练与多gpu并行训练示例
2019/12/31 Python
解决python执行较大excel文件openpyxl慢问题
2020/05/15 Python
python打开音乐文件的实例方法
2020/07/21 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
python利用opencv保存、播放视频
2020/11/02 Python
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
.NET程序员的数据库面试题
2012/10/10 面试题
大学生就业协议书范本(适用于公司企业)
2014/10/07 职场文书
2014年绿化工作总结
2014/12/09 职场文书
大学推普周活动总结
2015/05/07 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
PyQt5结合QtDesigner实现文本框读写操作
2021/06/11 Python
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL
避坑之 JavaScript 中的toFixed()和正则表达式
2022/04/19 Javascript