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使用心得之获得github代码库列表
Jun 25 Python
python传递参数方式小结
Apr 17 Python
基于wxpython开发的简单gui计算器实例
May 30 Python
Python的Django框架中的数据过滤功能
Jul 17 Python
Python Pandas中根据列的值选取多行数据
Jul 08 Python
python requests指定出口ip的例子
Jul 25 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 Python
python修改文件内容的3种方法详解
Nov 15 Python
Python实现word2Vec model过程解析
Dec 16 Python
python3连接kafka模块pykafka生产者简单封装代码
Dec 23 Python
python批量修改xml属性的实现方式
Mar 05 Python
Django如何使用jwt获取用户信息
Apr 21 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 无限级 SelectTree 类
2009/05/19 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
2014/12/16 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
2019/02/20 PHP
js 分栏效果实现代码
2009/08/29 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
JavaScript 事件绑定及深入
2015/04/13 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
js编写一个简单的产品放大效果代码
2016/06/27 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
2016/11/22 Javascript
详解JS几种变量交换方式以及性能分析对比
2016/11/25 Javascript
layui分页效果实现代码
2017/05/19 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
2019/05/21 Javascript
Javascript查看大图功能代码实现
2020/05/07 Javascript
纯JS开发baguetteBox.js响应式画廊插件
2020/06/28 Javascript
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
python 生成目录树及显示文件大小的代码
2009/07/23 Python
python解析中国天气网的天气数据
2014/03/21 Python
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
Python pip配置国内源的方法
2020/02/14 Python
在 Pycharm 安装使用black的方法详解
2020/04/02 Python
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
给校长的建议书
2014/03/12 职场文书
护士长2014年终工作总结
2014/11/11 职场文书
暑期社会实践证明书
2014/11/17 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
荒岛余生观后感
2015/06/09 职场文书
中学生运动会广播稿
2015/08/19 职场文书
2016年社区文体活动总结
2016/04/06 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
Python 线程池模块之多线程操作代码
2021/05/20 Python
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
2021/06/26 Java/Android