构造包含一个元素的元组规则解析
来源:互联网 发布:ise12.3软件下载 编辑:程序博客网 时间:2024/06/05 07:18
构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
tup1 = () # 空元组tup2 = (20,) # 一个元素,需要在元素后添加逗号
解析:如果不明白这在说什么,我们先看以下代码:
#先看列表
a=[]
b=[1]
c=[1,]
d=[1,2]
print(a,b,c,d)
print(type(a),type(b),type(c),type(d))
显示:
[] [1] [1] [1, 2]
<class 'list'> <class 'list'> <class 'list'> <class 'list'>
#再看元组
a=()
b=(1)
c=(1,)
d=(1,2)
print(a,b,c,d)
print(type(a),type(b),type(c),type(d))
显示:
() 1 (1,) (1, 2)
<class 'tuple'> <class 'int'> <class 'tuple'> <class 'tuple'>
从列表我们可以看出来,不管你怎么赋值,abcd的类型都是list,并且赋值时[1]和[1,]的效果是一样的,显示的结果都是[1].
然而元组和列表不同,b显示1,且b的类型为int,并不是tuple.
那么为什么会出现这样的问题呢?我们可以看这条语句b=(1),大家都知道,在编程语言中,括号是很常见的,常常用来表示优先级,python也不例外,所以以下这样的语句
中的括号,都会被理解为优先级.
a=('str') 等同于 a='str'
b=(1) 等同于 b=1
所以构造包含1个元素的元组,不能用(1),而要用(1,),即在这一个元素的后面加上个逗号,这样就没毛病了,输出时也会带个括号,提醒你这是元组而不是数学上的小括号.
那么为啥还要说下列表呢,因为列表的[]不存在歧义,所以怎么打都可以啦.
两张图片分析......
阅读全文
0 0
- 构造包含一个元素的元组规则解析
- python 一个元素的元组包含多余逗号
- 创建只有一个元素的元组
- WCF一个小经验分享一下(元数据包含无法解析的引用)
- 罗马数字的构造规则
- UML包含的元素
- python中的元组如何定义只有一个元素
- 如何构造一个元素类型为Struct的SafeArray
- 如何构造一个元素类型为Struct的SafeArray
- 如何构造一个元素类型为Struct的SafeArray
- 如何构造一个元素类型为Struct的SafeArray
- 如何构造一个元素类型为Struct的SafeArray
- 如何构造一个元素类型为Struct的SafeArray
- 如何构造一个元素类型为Struct的SafeArray
- 如何构造一个元素类型为Struct的SafeArray
- 如何构造一个元素类型为Struct的SafeArray
- 如何构造一个元素类型为Struct的SafeArray
- 如何构造一个元素类型为Struct的SafeArray
- 机器学习与scikit-learn(一)——回归模型
- 邻接矩阵,邻接表表示图,深度优先遍历
- hdu5456(记忆化搜索)
- AES工具类
- python笔记--*args 和 **kwargs
- 构造包含一个元素的元组规则解析
- macOS装回java8
- js常用方法总结
- dubbo实战---No provider available for the service
- CXF实现wsdl文件转换为javaBean
- CSDN中搜索用户
- Java Excel导出
- vs2008设置选中 高亮
- Ubuntu 16.04 安装chrome+postman