python 基础数据类型-元组的概念(留疑问了)

元祖tuple 和组 list 的区别是,元祖用(),组用[]

>>> type((1,2,3))
<class 'tuple'>
>>> type((1,2,"3",3))
<class 'tuple'>
>>> type((1,2,"3",[3,2,3]))
<class 'tuple'>

重复某个元祖多次,以及合并2个元组

>>> (1,2,3)*3
(1, 2, 3, 1, 2, 3, 1, 2, 3)
>>> (1,2,3)+(4,5,6)
(1, 2, 3, 4, 5, 6)

需要特别注意的坑是:

>>> type((1))
<class 'int'>
>>>
>>> type(("1"))
<class 'str'>

这种情况就是整型和字符串,为什么呢?

是因为() 不光是表示元祖,还表示数学运算的小括号,而很可惜,后者的优先级要高于前者。所以type()函数首先会认识的是这是来做运算符的

那我要表示1个元素的元祖或者没有元素的元祖,怎么办?那我要是一个元素的list,是不是也跟tuple一样呢?

>>> type((1,))
<class 'tuple'>
>>> type(())
<class 'tuple'>
>>> type([1])
<class 'list'>
>>> type([])
<class 'list'>

元组和列表其实很像,但是为什么还要有2个数据类型?

猜你喜欢

转载自www.cnblogs.com/ansonwan/p/13401507.html