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利用Guetzli批量压缩图片
Mar 23 Python
Python简单实现查找一个字符串中最长不重复子串的方法
Mar 26 Python
django js实现部分页面刷新的示例代码
May 28 Python
Python列表(list)所有元素的同一操作解析
Aug 01 Python
python redis连接 有序集合去重的代码
Aug 04 Python
Python基本语法之运算符功能与用法详解
Oct 22 Python
numpy中三维数组中加入元素后的位置详解
Nov 28 Python
python中68个内置函数的总结与介绍
Feb 24 Python
Python发送手机动态验证码代码实例
Feb 28 Python
python opencv进行图像拼接
Mar 27 Python
Python 执行矩阵与线性代数运算
Aug 01 Python
如何基于Django实现上下文章跳转
Sep 16 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操作文件方法问答
2007/03/16 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
2013/05/03 PHP
php禁用函数设置及查看方法详解
2016/07/25 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
DOM基础教程之使用DOM
2015/01/19 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
js实现div在页面拖动效果
2016/05/04 Javascript
jQuery Easyui datagrid/treegrid 清空数据
2016/07/09 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
微信公众号H5之微信分享常见错误和问题(小结)
2019/11/14 Javascript
Vue实现简单的留言板
2020/10/23 Javascript
如何利用python查找电脑文件
2018/04/27 Python
numpy 进行数组拼接,分别在行和列上合并的实例
2018/05/08 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
2018/11/30 Python
Python 存储字符串时节省空间的方法
2019/04/23 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
python自动化发送邮件实例讲解
2021/01/04 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果
2016/04/26 HTML / CSS
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
通过canvas转换颜色为RGBA格式及性能问题的解决
2019/11/22 HTML / CSS
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
人事助理自荐信
2014/02/02 职场文书
体育教师个人的自我评价
2014/02/16 职场文书
电气工程及其自动化专业毕业生自荐信
2014/06/21 职场文书
会议新闻稿
2015/07/17 职场文书
考试后的感想
2015/08/07 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
导游词之天津盘山
2019/11/01 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
MySQL库表名大小写的选择
2021/06/05 MySQL
win11开机发生死循环重启怎么办?win11开机发生死循环重启解决方法
2022/08/05 数码科技