Python元组基础介绍
介绍
元组(tuple)和列表很相似,也是Python集合数据类型中的一员。
元组由小括号和逗号组成t=(1,2,3),和列表不一样的是,列表是可变的(mutable),而元组是不可变的(immutable)。不可变类型即是具有固定值的对象,如果想要修改存储的值,则需要创建另一个对象。从这边我们可以看出,对元组的修改和删除其实是不允许的,只允许创建新的对象来接收新的值,这样其实是对系统开销比较大,所以一般来说元组用来存放不需要经常改变的元素。
以下是元组的几个例子。这两个例子中可以看到,元组其实可以是不用写圆括号的,两个都属于元组,但是为了平常使用的时候能好区分,尽量把这个圆括号加上去。
tuple1=,,Pythontuple2=(,,Java)
下面这个例子中展示了如果要构建一个元素的元组,则必须在最后加上逗号,否则解释器不会把这个解释成元组。我们用type()方法来输出一下两个变量的类型,可以发现加了逗号的才是tuple类型,而不加逗号的会解释成其他类型。
tuple3=(,)tuple4=()print(type(tuple3))print(type(tuple4))#输出:classtupleclassint
元组的操作
1、查询
元组可以像列表一样,通过下标索引来访问其中的元素。
tuple1=(Python,Java,C++,Go,Ruby)print(tuple1[2])print(tuple1[-1])#输出:C++Ruby
2、截取
元组的截取和列表的截取是相同的,也可以使用反向索引来截取。
tuple1=(Python,Java,C++,Go,Ruby)print(tuple1[0:2])print(tuple1[-3:-1])#输出:(Python,Java)(C++,Go)
3、更新
元组因为是不可变对象,所以对其中的元素进行添加和删除都是不可以的。虽然不可以修改,但是不同的元组可以通过“+”操作符进行拼接,这个时候相当于合成了一个新的元组。我们可以通过打印三个元组的地址来看到,新合成的元组不是之前任何一个旧元组的地址。
tuple1=(Python,Java,C++)tuple2=(Go,Ruby)tuple3=tuple1+tuple2print(tuple3)print(tuple1