set集合和dict字典的区别

唯一区别:

  1. set没有对应的value值

相同点:

  1. 都无索引,不可进行切片和根据索引进行的操作
  2. 两者都是不可哈希的可变类型
  3. 两者的内部元素是可哈希的不可变类型
利用哈希算法,进行计算元素在存在的生命周期中有对应唯一的哈希值,就是可哈希,不存在就是可改变的。  

set集合和list列表的区别
相同点:

  1. 都是可变类型

不同点:

  1. set集合是无序且元素唯一
  2. set集合取得元素只能for循环,否则因为是无序的,无索引
  3. list列表是有序且元素不唯一,可以根据索引进行切片
  4. list列表是分离式结构的动态顺序表(是有索引的原因)
顺序表分为:
一体式结构: 存储表信息的单元和存储区连续在一个存储区间。
分离式结构: 存储表信息的单元只保存容量和元素的个数,实际数据元素存储在另一个存储区,通过链接去关联。

set集合主要用于测试数据和数据的交、并、差等此类型的和去重操作
set集合本质区别和dict字典相同

list列表和dict字典的区别
相同点:

  1. 可变类型
  2. 可迭代

不同点:

  1. dict字典的key必须是不可变对象
  2. dict字典需要的存储空间大于list列表
  3. 查询效率字典远高于列表

tuple元组和list列表的区别
不同点:

  1. tuple对象创建后就不可变
  2. 创建对象的方式:list = [“元素”] tuple=(“元素”,)

相同点:

  1. 可迭代

tuple元组、字符串、数字

  1. 不可变类型(可哈希),不可以进行更改元素
  2. 元组可以包含可变类型

最新文章

  1. 从Facebook跑来阿里的赵海平大叔,你要干啥?
  2. hdu-5977 Garden of Eden(树分治)
  3. linux screen 命令详解
  4. HTML day0
  5. Using Friendly URLs in ASP.NET Web Forms
  6. dubbo+zookeeper例子
  7. 在windows下用toolbox玩会docker
  8. 如何让静态库中的可执行程序不调用的函数不链接进该可执行程序?(-ffunction-sections -Wl,--gc-sections)
  9. Intellij 导入play framework 项目
  10. oracle数据同步方案
  11. dpkg error
  12. 【第四篇章-android平台MediaCodec】推断是否支持硬件解码码
  13. Listview多条目展示
  14. vue2.0实践 —— Node + vue 实现移动官网
  15. sql是最成功的第四代语言
  16. JAVA进阶6
  17. sqlserver数据库查询,在数据类型不一致时容易出错
  18. yaw roll pitch matrix
  19. C++ OCCI API数据库操作之连接、返回查询结果集为json格式
  20. js面向对象设计之class中一些坑和技巧

热门文章

  1. 接之前的文章,VS2017中使用Spring.NET配置以及使用方法(framework4.6.1超详细)
  2. create-react-app创建的项目npm run build之后静态文件找不到
  3. H5内联视频
  4. Java实现大数相加、相乘(不使用BigInteger)
  5. Shell-5--位置参数变量
  6. Typescript 学习笔记二:数据类型
  7. Python模块——subprocess
  8. nRF52832 矩阵按键调试 同一列上的按键 任意两个按键 按下 检测不到低电平(电平拉不下来)
  9. 【xsy2303】呀 dp
  10. linux中一些简便的命令之cut