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. 元组可以包含可变类型

Python中的基本数据类型的区别的更多相关文章

  1. Python中type与Object的区别

    Python中type与Object的区别 在查看了Python的API后,总算明白了.现在总结如下: 先来看object的说明: Python中关于object的说明很少,甚至只有一句话: clas ...

  2. Python中生成器和迭代器的区别(代码在Python3.5下测试):

    https://blog.csdn.net/u014745194/article/details/70176117 Python中生成器和迭代器的区别(代码在Python3.5下测试):Num01–& ...

  3. Python中的is和==的区别,==判断值是否相等,is判断地址是否一致

    Python中的is和==的区别 Python中的对象包含三要素:id.type.value. 其中id用来唯一标示一个对象,type标识对象的类型,value是对象的值. is判断的是a对象是否就是 ...

  4. python中不可变数据类型和可变数据类型

    在学习python过程中我们一定会遇到不可变数据类型和可变数据类型. 1.名词解释 以下所有的内容都是基于内存地址来说的. 不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址 ...

  5. python中的特殊数据类型

    一.python中的特殊数据类型 对于python,一切事物都是对象,对象基于类创建.像是“wangming”,38,[11,12,22]均可以视为对象,并且是根据不同的类生成的对象. 参照:http ...

  6. 基于python中staticmethod和classmethod的区别(详解)

    例子 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 class A(object):   def foo(self,x):     print "executing foo ...

  7. Python中send()和sendall()的区别

    Python中send()和sendall()的区别 估计每个学习Python网络编程的人,都会遇到过这样的问题: send()和sendall()到底有什么区别? send()和sendall()原 ...

  8. Python中的基本数据类型之列表与元组初步了解

    一.什么是列表 1.列表是Python中的基本数据类型之一用[]来表示,每一项元素由逗号隔开,列表什么都能装,(能装对象的对象) 2.可以用来存放大量数据 3.是一个可以改变的数据类型 二.列表的索引 ...

  9. 1. Python中的基本数据类型、运算、变量

    本文利用的是Python 3.x版本,建议学习3.x版本 Python中的基本数据类型.运算.变量 1. 基本数据类型 1.1 整数 py可以处理任意大小的整数,例如123,1234567891324 ...

随机推荐

  1. winform判断一个事件是否已经绑定了事件处理函数

    public static class ComponentHelper<T> where T : Control { public static bool HaveEventHandler ...

  2. IPv6技术详解:基本概念、应用现状、技术实践(上篇)

    本文来自微信技术架构部的原创技术分享. 1.前言 普及IPV6喊了多少年了,连苹果的APP上架App Store也早已强制IPV6的支持,然并卵,因为历史遗留问题,即使在IPV4地址如果饥荒的情况下, ...

  3. System.Collections.Generic 源码阅读总结

    ArrayList ,List ArrayList 和 List 都是不限制长度的集合类型 ,List相比ArrayList 就内部实现而言除了泛型本质没有太大区别.不过为避免装箱拆箱问题,尽可能使用 ...

  4. Linux学习笔记《六》

  5. 命令行下查看python和numpy的版本和安装位置

    命令行下查看python和numpy的版本和安装位置 1.查看python版本 方法一: python -V 注意:‘-V‘中‘V’为大写字母,只有一个‘-’ 方法二: python --versio ...

  6. typescript 的安装

    1.全局安装 typeScript 包       npm install typescript -g (tsc -v 查看ts版本)2.解决模块的声明文件问题   npm install @type ...

  7. Python模块练习题

    练习题: 1.logging模块有几个日志级别? #INFO,WARNING,DEBUG,CRITICAL,ERROR 2.请配置logging模块,使其在屏幕和文件里同时打印以下格式的日志 2017 ...

  8. jquery-validae

    $(document).ready(function() { jQuery.validator.addMethod("realName", function(value, elem ...

  9. mysql 开发进阶篇系列 40 mysql日志之二进制日志下以及查询日志

    一.binlog 二进制其它选项 在二进制日志记录了数据的变化过程,对于数据的完整性和安全性起着非常重要作用.在mysql中还提供了一些其它参数选项,来进行更小粒度的管理. 1.1 binlog-do ...

  10. mysql 开发进阶篇系列 34 工具篇 mysqlcheck(MyISAM表维护工具)

    一.概述 mysqlcheck客户端工具可以检查和修复MyISAM表,还可以优化和分析表.实际上,它集成了mysql工具中check,repair,analyze,optimize功能,对于check ...