定义

元组(tuple):
  不可变序列,一旦建立不能修改元组中的元素。

列表[list]:
  可变序列,可以添加和删除其中的元素。

集合{set}:
  集合是一个可变无序集合,没有重复元素。支持数学中的集合运算,如并集、交集、差集等。

字典{dict}:
  也是可变容器,使用键-值对(key:value)存储,key是唯一的,value不需要唯一。 (相当于其它语言中的Map)

空元组、空列表、空字典、空集合

>>> a=()
>>> b=[]
>>> c={}
>>> type(a)
<class 'tuple'>
>>> type(b)
<class 'list'>
>>> type(c)
<class 'dict'>
>>> len(a)
0
>>> len(b)
0
>>> len(c)
0
>>>

{}是空字典,哪空集合如何表达? 尝试:

>>> d={None}
>>> type(d)
<class 'set'>
>>> len(d)
1
>>>

明显d是非空集,通过查资料知道空集合只能用set()函数转换或者直接设置:

>>> d1=set(())
>>> d2=set([])
>>> d3=set({})
>>> d4=set()
>>> type(d1)
<class 'set'>
>>> type(d2)
<class 'set'>
>>> type(d3)
<class 'set'>
>>> type(d4)
<class 'set'>
>>> for i in range(1,5):eval(f'print(\'len(d{i}) =\',len(d{i}))')len(d1) = 0
len(d2) = 0
len(d3) = 0
len(d4) = 0
>>>

单一元素的元组、列表、字典、集合

>>> a=(None)
>>> b=[None]
>>> c={None}
>>> d={None:None}
>>> type(a)
<class 'NoneType'>
>>> type(b)
<class 'list'>
>>> type(c)
<class 'set'>
>>> type(d)
<class 'dict'>
>>> 

只有元组不对,因为这样a=(None)表达,与数值运算的括号混起来了。 就像 (1), (2), ... 就是整数1,2,... 所以单个元素的元组要用一个逗号附在元素后来表示:

>>> a1=(None,)
>>> a2=(1,)
>>> a3=('2',)
>>> a4=(,)
SyntaxError: invalid syntax
>>> type(a1)
<class 'tuple'>
>>> type(a2)
<class 'tuple'>
>>> type(a3)
<class 'tuple'>
>>> len(a1)
1
>>> len(a2)
1
>>> len(a3)
1
>>> 

Python 空元组、空列表、空字典、空集合相关推荐

  1. python.集合转列表_Python基础数据类型:元组、列表、字典、集合

    你好,我是goldsunC. 让我们一起进步吧! 元组.列表.字典.集合 元组和列表是Python语言中非常重要的一部分内容,它们是Python中除了字符串以外的另两种序列结构,几乎在任何地方都少不了 ...

  2. Python学习笔记:列表、字典与集合解析(List, Dict and Set Comprehensions)

    Python学习笔记:列表.字典与集合解析(List, Dict and Set Comprehensions) 1.列表解析 最受喜爱的Python语言特性.过滤一个集合的元素生成一个新的列表. 一 ...

  3. 【Python基础】使用列表、字典和集合生成式来缩短代码

    作者 | Philip Wilkinson 编译 | VK 来源 | Towards Datas Science 在使用Python将近一年的时间里,我经常遇到"生成式"这个词,但 ...

  4. python 字符串转字典 编码_python基础--2(字符串、元组、列表、字典、集合、文件、编码转码)...

    python支持的数据类型 int 整数型 float 浮点型 complex 复数,实数+虚数,虚数部分以"j"或"J"结尾,a+bj或者complex(a, ...

  5. Python元组,列表,字典,集合

    1.元组 元组是有序的,只有index和count两种方法,一看到元组,就提醒是不可更改的 names = ('wll', 'ly', 'jxx', 'syq') (1)index方法 print(n ...

  6. Python中元组,列表,字典的区别

    http://blog.csdn.net/yasi_xi/article/details/38384047 转载于:https://www.cnblogs.com/Baronboy/p/8241878 ...

  7. Python元祖,列表,字典,集合的比较

    可以包含不同类型的对象,但是是不可变的,不可以在增减元素,用()来定义. 元组的操作: tuple(obj),切片,in,for in,del,cmp,len,max,min #定义一个元组tuple ...

  8. 元组、列表、字典及集合练习

    列表练习题: #假定有下面这样的列表: #names = ['lily', 'denny', 'jenny', 'apple'] #输出结果为:'I have lily,denny, jenny an ...

  9. Python基础教程:列表、字典、集合推导式

    下面是一个以列表推导式为例的推导式详细格式,同样适用于其他推导式. variable = [out_exp_res for out_exp in input_list if out_exp == 2] ...

  10. 【Python】元组和列表相关知识总结

    python中,我们经常用到元组和列表,本文主要总结了一下元组和列表的一些基本用法. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

最新文章

  1. com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1169 1024)
  2. android 51 有序广播
  3. 用html和js写一个直接在页面运行js的页面
  4. mysql主从切换gtid不一致_解决mysql使用GTID主从复制错误问题
  5. 博客使用的CSS代码备份
  6. 手把手教你python实现量价形态选股知乎_【手把手教你】Python实现基于事件驱动的量化回测...
  7. Qt-5种布局控件详解
  8. linux查看php日志命令,linux查看日志的三种命令是什么,linux查看进程命令
  9. Linux的环境变量配置
  10. 【codevs30123037】线段覆盖4、5,姗姗来迟
  11. KMP算法(C++版)
  12. easyUi reload 重定向URL
  13. 【JZOJ4832】【NOIP2016提高A组集训第3场10.31】高维宇宙
  14. 卡巴斯基安全部队2013 卡巴斯基正式版 送一年使用序列号
  15. Java IO之打印流,缓冲流,Scanner的用法
  16. 苗族php动态网页设计作业
  17. ES文件浏览器★显示永久VIP会员★去盗版弹窗
  18. 编程语言入门YC创始人Paul Graham:如何开始创业
  19. 【论文精读】基于周期编码深度自编码器的心肺音盲单耳声源分离
  20. java iqq_iQQ

热门文章

  1. MySQL 之 数据操作
  2. vs2010编译64位qt5.5
  3. 年薪100万都是什么样人才啊?
  4. php租车后台,基于php的网络租车系统
  5. PLC控制柜结构以及原理
  6. access实验报告体会_access实验报告电子版2013_图文
  7. PP-YOLOE实现自动驾驶场景检测
  8. 实用网页制作工具集锦
  9. 宽带连接错误,错误代码720问题
  10. linux下查看tomcat宕机并自动重启