Python tuple元组详解 (biancheng.net)
1、
元组(tuple)是 Python 中另一个重要的序列结构,和列表类似,元组也是由一系列按特定顺序排序的元素组成。
元组和列表(list)的不同之处在于:
列表:[element1, element2 ,... ,]
元组:(element1, element2, ... , elementn)
元组也可以看做是不可变的列表,通常情况下,元组用于保存无需修改的内容。
2、
在 Python 中,元组通常都是使用一对小括号将所有元素包围起来的,但小括号不是必须的,只要将各元素用逗号隔开,Python 就会将其视为元组
course = "Python", "好好学习" print(course) #('Python', '好好学习') print(type(course)) #<class 'tuple'>
3、元组和字符串
3.1. 单个元素,例如:tuple2=(‘python’’),属于字符串,并不属于元组
单个元素,后面加了 , 例如:tuple2=(‘python’’, )属于元组
tuple2=("python") tuple3=("python", ) print(type(tuple2)) #<class 'str'> print(type(tuple3)) #<class 'tuple'>
3.2. 元组和字符串之间不能相加
3.3. 字符串可以很容易转化为元组 tuple(str)
3.4. 元组转化为字符串,需要用到join()函数 "".join(tuple(str))
s="python" tuple(s) # 字符串转为元组 print(tuple(s)) #('p', 'y', 't', 'h', 'o', 'n') str2 = "".join(tuple(s)) # 元组转为字符串 print(str2) #python
注意:今天发现了一个问题,只有当元组中的元素都是字符串的时候,才能转换成字符串:
例如下面的元组中有个元素是布尔值,转换成字符串的时候就会报错
str1 = (True,"+CREG:") str2 = "".join(str1) print(str2) #TypeError: sequence item 0: expected str instance, bool found
3、今天还学到一个知识点:取元组中的值
方法1:status,value = (element1,element2)
方法2:status = (element1,element2)[0]
value = (element1,element2)[1]
str1 = (True,"+CREG:") # str2 = "".join(str1) # print(str2) #TypeError: sequence item 0: expected str instance, bool found status,value = (True,"+CREG:") print(status) #True print(type(status)) #<class 'bool'> print(value) #+CREG: print(type(value)) #<class 'str'>
str1 = (True,"+CREG:") # str2 = "".join(str1) # print(str2) #TypeError: sequence item 0: expected str instance, bool found status = (True,"+CREG:")[0] value = (True,"+CREG:")[1] print(status) #True print(type(status)) #<class 'bool'> print(value) #+CREG: print(type(value)) #<class 'str'>