Python中的 Set 与 dict

 更新时间:2022年03月11日 14:23:39   作者:就在日落之前  
这篇文章主要介绍了Python中的 Set 与 dict,Set 集合类型有无序 , 自动去重等特点,dict 字典类型 键值对存储的数据,可获取,可修改 表面上有序,实际存储时无序,下面更多详细内容,需要的朋友可以参考一下

一、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 的 Socket 编程

    Python 的 Socket 编程

    这篇文章最初发布的时候标题是“Python的WebSocket编程”,坦白来说有点文不对题。我们在这里打算讨论的仅仅是常规的socket编程。尽管 Web Socket 和常规sockets有点很相似,但又不是同一个东西。那我还是希望这篇文章对你们有点帮助。
    2015-03-03
  • 利用pandas按日期做分组运算的操作

    利用pandas按日期做分组运算的操作

    这篇文章主要介绍了利用pandas按日期做分组运算的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • python for循环内输出和外输出方式

    python for循环内输出和外输出方式

    这篇文章主要介绍了python for循环内输出和外输出方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python 实现Mac 屏幕截图详解

    Python 实现Mac 屏幕截图详解

    今天小编就为大家分享一篇对Python 实现Mac 屏幕截图详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-10-10
  • pycharm使用conda创建的虚拟环境时找不到python.exe解决办法

    pycharm使用conda创建的虚拟环境时找不到python.exe解决办法

    这篇文章主要给大家介绍了关于pycharm使用conda创建的虚拟环境时找不到python.exe的解决办法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考价值,需要的朋友可以参考下
    2024-03-03
  • django redis的使用方法详解

    django redis的使用方法详解

    本文主要介绍了django redis的使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • numpy中的transpose函数中具体使用方法

    numpy中的transpose函数中具体使用方法

    本文主要介绍了numpy中的transpose函数中具体使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Python数据序列化之pickle模块

    Python数据序列化之pickle模块

    这篇文章主要介绍了Python数据序列化之pickle模块,pickle的本质是将Python数据还原为内存中的二进制数据,供用户转移、储存,更多详细内容,需要的小伙伴可以下面文章内容
    2022-03-03
  • python实现的文件夹清理程序分享

    python实现的文件夹清理程序分享

    这篇文章主要介绍了python实现的文件夹清理程序分享,可以按时间清理和指定配置文件清理,需要的朋友可以参考下
    2014-11-11
  • Python中AI图像识别实现身份证识别

    Python中AI图像识别实现身份证识别

    图像识别说白了就是把一张照片上面的文字进行提取,提供工作效率,本文主要介绍了Python 身份证识别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08

最新评论