Python中的元组和列表类似也是一种容器数据类型,可以用一个变量(对象)来存储多个数据,不同之处在于元组的元素不能修改,顾名思义,我们把多个元素组合到一起就形成了一个元组,所以它和列表一样可以保存多条数据。
1.如何定义元组
#定义空元组
tmp_tuple = ()
#如果元组有一条数据 ,要加,
tmp_tmp_tuple = (1,)
tmp_tupe = (1,2,3)
2.元组取值
print(tmp_tuple[0])
3.元组遍历
for t in tmp_tuple:
print(t)
4.元组转列表
tmp_tuple = (1,2,3)
print(type(tmp_tuple))
tmp_list = list(tmp_tupe)
print(tmp_list)
print(type(tmp_list))
注意:元组里面的数据不能修改!!
5.列表转元组
tmp_list = [1,2,3]
print(type(tmp_list))
tmp_tuple3 = tuple(tmp_list)
print(tmp_tuple3 )
print(type(tmp_tuple3 ))
思考:我们以及有了列表这种数据结构,为什么还需要元组这样的类型呢?
1.元组中的元素是无法修改的,事实上我们在项目中尤其是多线程环境中可能更喜欢使用的是那些不变对象(一方面因为对象状态不能修改,所以可以避免由此引起的不必要的程序错误,简单地说就是一个不变的对象要比可变的对象更加容易维护;另一方面因为没有任何一个线程能够修改不变对象的内部状态,一个不变对象自动就算是线程安全的,这样就可以省掉处理同步化的开销。一个不变对象可以方便的被共享访问)。所以结论就是:如果不需要对元素进行添加、删除、修改的时候,可以考虑使用元组,当然如果一个方法要返回多个值,使用元组也是不错的选择。
2.元组在创建时间和占用的空间上面都优于列表