Python精通-Python元组操作

系统管理员 2023-05-30 06:21 115阅读 0赞

导语
  在介绍元组之前那,先来回顾一个变量赋值问题。对于字符串来说一旦被创建如果需要进行修改的时候就如同下图中展示的一样,需要新开辟空间对新的值进行存储。对于其他语言也是同样适用。
  元组作为Python中的又一个数据类型,接下来就来看看元组这种数据类型。

文章目录

    • 回顾
    • 元组
      • 可迭代对象之间的转换
        • 字符串转换为元组
        • 列表转换为元组
        • 元组转换为字符串
        • 元组转换为列表
      • 元组操作
        • def count(self, *args, **kwargs)
        • def index(self, *args, **kwargs)
    • 总结

回顾

变量赋值问题

如果在实际操作中,出现如下的操作

  1. v = 1
  2. v = 2
  3. print(v)

那么在内存中的操作又是什么样子呢?如图所示,在最终输出的结果是2
在这里插入图片描述
那么在实际的操作过程中如果出现如下的操作又会是什么样子呢

  1. v = "test"
  2. v1 = v.replace("t","o");
  3. print(v)
  4. print(v1)
  5. v = "test"
  6. v = v.replace("t","o");
  7. print(v)

在这里插入图片描述

对于列表来说可以通过索引进行取值,当然任意的可迭代对象,都可以通过索引进行取值。那么字符串呢?在如下的代码中测试了这个场景

  1. li = [11,22,33,454]
  2. li[3] = 999;
  3. print(li)
  4. test = "nihui"
  5. v = test[0]
  6. print(v)
  7. test[1] = "tes"
  8. print(test)

会发现,并不是所有的可迭代对象都可以通过这样的方式进行赋值操作。同样也可以说字符串是不支持修改操作的。

元组

  在开始分享元组之前先来看一个小演示。在我们操作列表的时候会发现列表是有序的,也就是说使用print进行列表输出的时候每次执行结果都是一样的如下,如果中间出现一次不一样的时候就说明Python的列表是无序的。

  1. li = [11,22,33,454]
  2. print(li)
  3. print(li)
  4. print(li)
  5. print(li)
  6. print(li)
  7. print(li)
  8. print(li)
  9. print(li)
  10. print(li)
  11. print(li)

在这里插入图片描述

列表是有序的,并且列表的元素是可以被修改的

  元组其实是与列表是类似的,其实是对于列表功能的封装。如下,从表现啊形式上来看,一个是用中括号一个是用括号。但是实际上还是有很多的不一样的地方。

  1. # 列表
  2. li = [11,22,33,44]
  3. #元组
  4. tu = (11,22,33,44)

  在Python中元组使用tuple进行表示,元组对于列表的封装基于两点,第一元组的元素是不可被修改,第二元组的元素是不能增加也不能删除。

定义一个元组
在定义元组的时候为了与方法进行区分,在最后元素结束的时候加入一个逗号,表示这个是一个元组

  1. tu = (111,"test",(111,222),[(33,44)],True,33,44,)

元组取值

  1. tu = (111,"test",(111,222),[(33,44)],True,33,44,)
  2. #通过索引取值
  3. v = tu[0]
  4. #通过切片取值
  5. v1 =tu[0:1]
  6. print(v1)
  7. print(v)

元组不能进行修改

元组可以被for循环

  1. tu = (111,"test",(111,222),[(33,44)],True,33,44,)
  2. for item in tu:
  3. print(item)

可迭代对象之间的转换

字符串转换为元组

  1. tu = (111,"test",(111,222),[(33,44)],True,33,44,)
  2. s = "test"
  3. li = ["test",123,"nihui"]
  4. v = tuple(s)
  5. print(v)

列表转换为元组

  1. tu = (111,"test",(111,222),[(33,44)],True,33,44,)
  2. s = "test"
  3. li = ["test",123,"nihui"]
  4. v = tuple(li)
  5. print(v)

元组转换为字符串

  1. tu = (111,"test",(111,222),[(33,44)],True,33,44,)
  2. s = "test"
  3. li = ["test",123,"nihui"]
  4. v = str(tu)
  5. print(v)

元组转换为列表

  1. tu = (111,"test",(111,222),[(33,44)],True,33,44,)
  2. s = "test"
  3. li = ["test",123,"nihui"]
  4. v = list(tu)
  5. print(v)

  以上的操作可以证明,元组与列表和字符串一样都可以看做是一个可迭代对象。同样也可以看出来元组其实是有序的。

元组操作

  上面的内容中已经提到元组的一级元素是不能被修改的。所以对于元组的操作就比较少了!

def count(self, *args, **kwargs)

获取元组中指定元素的个数

  1. tu = (111,"test",(111,222),[(33,44)],True,33,44,)
  2. v = tu.count(True);
  3. print(v)

def index(self, *args, **kwargs)

获取元组中指定元素的索引位置

  1. tu = (111,"test",(111,222),[(33,44)],True,33,44,)
  2. v = tu.index(True)
  3. print(v)

总结

  如果在某些场景下,只是想使用某些值,但是不需要修改的时候,就可以使用元组。如果实在需要操作的时候,可以把一个元组先转换成一个列表,操作完成之后再做二次转换。

  1. tu = (111,"test",(111,222),[(33,44)],True,33,44,)
  2. li = list(tu)
  3. li.append(55)
  4. print(li)
  5. tu = tuple(li)
  6. print(tu)

发表评论

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

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

相关阅读

    相关 Python (Tuple)操作

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

    相关 Python精通-Python操作

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

    相关 Python

    一、什么是元组 元组是Python中常用的一种数据结构。元组由不同的元素组成,每个元素可以存储不同类型的数据,如字符串、数字、甚至元组。元组是“写保护”的,即元组创建后不能再

    相关 Python操作

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

    相关 python3 tuple 操作

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