Python元组操作

心已赠人 2022-05-09 10:24 588阅读 0赞

1、任务简介

我在之前的博客《Python列表(“数组”)操作》中讲解了Python列表的一些主要操作方法,由于元组与列表有许多相同之处,所以今天就把元组的操作也讲解一下。

元组与列表最大的区别就在于你可以任意修改列表中的元素,可以任意插入或者删除一个元素,而在元组中这些都是不可以的,但是我们有其他的方法来实现这些,具体的操作方法会在后文中讲解。

注:本博客所有代码均在IDLE下完成。


2、元组操作简介

(1)创建元组

创建元组时大部分使用的是小括号,具体操作如下:

  1. >>> tuple = (1,2,3,4,'罗思洋')
  2. >>> tuple
  3. (1, 2, 3, 4, '罗思洋')

和列表一样,元组中可以包含整形、字符串、浮点型数据,还可以包含另一个元组。

(2)从元组中获取元素

由于元组中的元素不能随意插入或更改,所以插入或更改的方法在后文中讲解,我们先来讲解简单一点的元素获取方法(其方法与列表中获取元素方法相同)。

1)从元组中获取元素可以一次获取一个或多个,获取一个的操作如下:

  1. >>> tuple = (1,2,3,4,'罗思洋')
  2. >>> tuple[0]
  3. 1

2)获取多个的方法如下:

  1. >>> tuple = (1,2,3,4,'罗思洋')
  2. >>> tuple[0:3]
  3. (1, 2, 3)

tuple[0:3]中0为开始位置,3为结束位置;

3)访问元组中元组的方法如下:

  1. >>> tuple = (1,2,(3,4),'罗思洋')
  2. >>> tuple[2][1]
  3. 4

tuple[2][1]2指第一层元组的元素,1指第二层元组中的元素。

(3)元组反转

1)其反转方法和列表的第一种方法一样,通过分片操作即可,分片操作中当步长为-1就可以实现列表反转,操作如下:

  1. >>> tuple = (1,2,3,4)
  2. >>> tuple[::-1]
  3. (4, 3, 2, 1)

2)那么我们可不可以使用reverse()方法呢,试试不就知道了吗?操作如下:

  1. >>> tuple = (1,2,3,4)
  2. >>> tuple.reverse()
  3. Traceback (most recent call last):
  4. File "<pyshell#13>", line 1, in <module>
  5. tuple.reverse()
  6. AttributeError: 'tuple' object has no attribute 'reverse'

由此可见使用reverse()方法宣告失败,提示说元组中没有reverse这种属性,所以以后要实现元组反转我们就使用分片的方法吧。

(4)元组的重复

元组重复的操作与列表类似,具体如下:

  1. >>> tuple = (123,)
  2. >>> tuple*3
  3. (123, 123, 123)
  4. >>> tuple *= 3
  5. >>> tuple
  6. (123, 123, 123)

需要注意的是当创建的元组只包含一个元素时,里面的逗号是必不可少的,有逗号才可以证明我们创建的是元组,证明如下(我们使用type方法查看类型):

  1. >>> temp = (123)
  2. >>> type(temp)
  3. <class 'int'>
  4. >>> temp = (123,)
  5. >>> type(temp)
  6. <class 'tuple'>

当没有逗号时我们创建的是int型,而有逗号时我们创建的才是元组,由此可见逗号才是元组的关键!

(5)元素是否存在于元组中的判断

1)元组中元素判断的方法与列表一样,in的操作如下:

  1. >>> tuple = (1,2,3,4)
  2. >>> 1 in tuple
  3. True
  4. >>> 5 in tuple
  5. False

not in的操作如下:

  1. >>> tuple = (1,2,3,4)
  2. >>> 1 not in tuple
  3. False
  4. >>> 5 not in tuple
  5. True

2)对于二层元组中元素的判断与列表一样,操作如下:

  1. >>> tuple = (1,(2,3),4)
  2. >>> 2 in tuple[1]
  3. True
  4. >>> 3 not in tuple[1]
  5. False

(6)向元组中添加元素

讲了这么多,重头戏终于来了,既然不可以在元组中随意插入元素,那么我们就使用构造新元组的方法来解决这个问题,操作如下:

  1. >>> tuple = ('罗','思','洋')
  2. >>> tuple = tuple[0:2]+('lsy',)+tuple[2:]
  3. >>> tuple
  4. ('罗', '思', 'lsy', '洋')

这样我们就可以向元组中添加一个元素,并且添加的位置还可以自己来定,其实原理是使用分片的方法将元组拆分为两部分,再使用连接操作符+合并为一个新元组,最后将tuple名指向新元组,需要注意的是被添加元素(‘lsy’,)的逗号不可缺少!切记切记!!!

(7)从元组中删除元素

1)既然讲了插入的方法,那么删除的方法自然是必不可少的,删除的原理和插入原理类似,都需要采用列表分片的方法,然后使用连接操作符+合并一个新元组,操作如下:

  1. >>> tuple = ('罗','思','洋')
  2. >>> tuple = tuple[:1] + tuple[2:]
  3. >>> tuple
  4. ('罗', '洋')

2)如果需要删除整个元组,我们可以使用del语句,操作如下:

  1. >>> tuple1 = (1,2,3,4)
  2. >>> del tuple1
  3. >>> tuple1
  4. Traceback (most recent call last):
  5. File "<pyshell#38>", line 1, in <module>
  6. tuple1
  7. NameError: name 'tuple1' is not defined

元组拼接的方法在插入和删除中我们都已经有所涉及,自己总结即可。

(8)其余操作

1)count()方法可以计算元素在元组中的出现次数,操作如下:

  1. >>> tuple = (1,1,2,3,4,1)
  2. >>> tuple.count(1)
  3. 3

2)index()方法可以返回元素在元组中的位置,操作如下:

  1. >>> tuple = (1,2,3,4)
  2. >>> tuple.index(3)
  3. 2

元组中是不可以使用sort()方法和reverse()方法来实现升序排序的。

3、总结

从上面的操作中可以看出Python元组的许多操作方法和列表是一样的,由于元组不可以随意的插入和删除,所以我们需要使用分片的方法来实现这两个功能,关于元组大家还可以通过菜鸟教程进行学习,但是我认为我写的更加详细,并且将主要操作都进行了验证。

发表评论

表情:
评论列表 (有 0 条评论,588人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python (Tuple)操作

    Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号,列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可 一、创建元组 代码

    相关 Python精通-Python操作

    > 导语 >   在介绍元组之前那,先来回顾一个变量赋值问题。对于字符串来说一旦被创建如果需要进行修改的时候就如同下图中展示的一样,需要新开辟空间对新的值进行存储。对于其他

    相关 Python操作

    1、任务简介 我在之前的博客[《Python列表(“数组”)操作》][Python]中讲解了Python列表的一些主要操作方法,由于元组与列表有许多相同之处,所以今天就把

    相关 操作

    元组是一种序列,它与列表一样,唯一不同的是列表是可修改的,而元组不可以,元组的创建也是较为简单的。 1、元组创建 直接使用逗号、圆括号 t=(1,2,3)

    相关 python3 tuple 操作

    元组被称为只读列表,数据可被查询,但不能被修改,类似于列表的切片操作,元组写在小括号里面()元素之前用逗号隔开,对于一些不想被修改的数据,可以用元组来保存 创建元组 1