Python元组中元素怎么删除和修改?

举报
技术火炬手 发表于 2020/08/17 14:35:33 2020/08/17
【摘要】 本文阅读大概需要3min,欢迎大家一起交流学习。

简单用法

先说下元组的创建,我们都知道用 () 就可以直接创建了。

如果我们创建只包含一个元素的元组呢?是下面这样吗?

temp = ('pk哥')

上面这样创建的不是元组,而是一个字符串,我们打印出来看看。

>>> temp = ('pk哥')
>>> type(temp)
<class 'str'>

那怎么创建只包含一个元素的元组呢?

在一个元素后面加上英文逗号就可以了。

>>> temp2 = ('pk哥',)
>>> type(temp2)
<class 'tuple'>

元组和列表有什么区别呢?

大家听到最多应该是,元组不可变,列表可变这个区别吧!

元组放弃了对元素的增删,内存结构设计上变的更精简,换取的是性能上的提升:创建元组比列表要快,存储空间比列表 占用更小。所以就出现了“能用元组的地方就不用列表的说法。

而且在多线程并发的时候,元组是不需要加锁的,不用担心安全问题,编写也简单多了。

如果非要修改元组可以吗?答案是可以的!

修改元组中的元素

我们直接在同一个元组上更新是不可行的,但是可以通过拷贝现有的元组片段构造一个新的元组的方式解决。

我们通过切片的方法让元组拆分成两部分,然后再使用连接操作符+合并成一个新元组,最后将原来的变量名(temp)指向连接好的新元组。如果加入一个元组的话,后面的逗号不能省,下面例子中,元素「公众号」后面这个逗号不能去掉。因为创建只包含一个元素的元组时,后面必须带上逗号,否则它不是元组。

>>> temp = ('pk哥', '菜鸟程序员', 'Python知识圈')
>>> temp = temp[:2] + ('公众号',) + temp[2:]
>>> temp

('pk哥', '菜鸟程序员', '公众号', 'Python知识圈')

删除元组中的元素

对于元组是不可变的原则来说,单独删除一个元素是不可能的,这时我们可以用到切片,间接的去删除一个元素。

>>> temp = ('pk哥', '菜鸟程序', '公众号', 'Python知识圈')
>>> temp = temp[:2] + temp[3:]
>>> temp

('pk哥', '菜鸟程序', 'Python知识圈')

Python语言中元组的好处是什么?

元组的好处

举个例子,函数返回多个值时,用一个参数可以把多个值当成元组全部接收了。

直接来看例子,一个函数返回了两个参数,name 和 age,我用一个参数接收,打印出来看的出来,类型是元组。

>>> def get_infos():
    name = 'pk哥'
    age = 18
    return name, age

>>> info = get_infos()
>>> info
('pk哥', 18)
>>> type(info)

------------

作者:Pk哥

文章来源于Python知识圈


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。