python 元组的使用方法


Posted in Python onJune 09, 2020

元组——tuple

列表非常适合用于存储在程序运行期间可能变化的数据集。

列表是可以修改的,但元组是不可修改的

Python将不能修改的值称为不可变的,而不可变的列表被称为元组

1. 元组的创建和删除

(1)使用赋值运算符直接创建元组

语法:

tuplename = (element1, element2, element3, ....)

​在Python中,元组使用一对小括号将所有的元素括起来,但是小括号不是必须的,只要将一组值用逗号分隔开,Python就可以使其为元组。

verse = "渔舟唱晚", "高山流水", "出水莲", "汉宫秋月"	# 元组

​ 如果要创建的元组中只有一个元素,需要在元素的后面加上逗号,否则Python使其为字符串

verse1 = ('一片冰心在玉壶')	# 字符串
verse2 = ('一片冰心在玉壶',)	# 元组

(2)创建空的元组

emptytuple = ()

(3)创建数值元组

可以使用tuple()函数直接将range()函数循环出来的结果转换为数值元组

tuple(data)

data-可迭代的对象

(4)删除元组

del tuplename

del语句在实际开发中,并不常用,因为Python自带的垃圾回收机制会自动销毁不用的元组,所以即使我们不手动将其删除,Python也会自动将其回收。

2. 访问元组元素

通过for循环

coffee_name = ('蓝山', '卡布奇诺', '曼特宁', '摩卡', '麝香猫', '哥伦比亚')
print('您好,欢迎光临 ~ 伊米咖啡馆 ~\n我店有:')
for name in coffee_name:
  print(name, "咖啡", end=' ')
'''

输出

您好,欢迎光临 ~ 伊米咖啡馆 ~
我店有:
蓝山 咖啡 卡布奇诺 咖啡 曼特宁 咖啡 摩卡 咖啡 麝香猫 咖啡 哥伦比亚 咖啡
'''

for + enumerate()

enumerate():——枚举

该函数用于将一个可遍历的数据对象(如列表、元组)组合为一个索引序列,同时列出数据和数据下标,一般在for循环中使用。

team = ('火箭', '勇士', '开拓者', '雷霆', '爵士', '马刺')
for index, item in enumerate(team):
  if index % 2 == 0:
    print(item + '\t\t', end='')
  else:
    print(item)

输出

火箭  勇士
开拓者  雷霆
爵士  马刺

3. 修改元组的元素

元组是不可变序列,所以我们不能对它的单个元素值进行修改。通过对元组进行重新赋值进行修改。

​元组和元组是可以进行连接的,但连接的两者必须都是元组才行,否则是错误的,要连接的元组只有一个元素时,一定不要忘记后面的逗号。

4. 元组推导式

>>> import random
>>> random_number = (random.randint(10,100) for i in range(10))
>>> random_number
<generator object <genexpr> at 0x0000021A177BDED0>	# 生成器对象
>>> tuple(random_number)			# 转换成元组
(28, 63, 34, 98, 96, 36, 87, 35, 25, 44)

​从上面的执行结果可以看出,使用元组推导式生成的结果并不是一个元组或列表,而是一个生成器对象,这一点和列表推导式不同。

​要将该生成器对象转换成元组,使用tuple()方法,转换成列表,使用list()方法。

示例一:

# 通过__next()__方法遍历
# 在Python2.x中__next()__方法对应的是next()方法,也是用于遍历生成器对象的。
>>> number = (i for i in range(3))
>>> number
<generator object <genexpr> at 0x0000021A1781EA20>
>>> number.__next__()
0
>>> number.__next__()
1
>>> number.__next__()
2
>>> number.__next__()
Traceback (most recent call last):
 File "<pyshell#11>", line 1, in <module>
  number.__next__()
StopIteration		# 停止迭代

示例二:

# 通过for循环遍历
>>> number = (i for i in range(4))
>>> number
<generator object <genexpr> at 0x0000021A1781EA98>
>>> for i in number:
	print(i, end='')
  
0123
>>> print(tuple(number))
()

从上面的两个示例中可以看出:无论通过那种方法遍历,如果想要再次使用该生成器对象,必须重新创建一个生成器对象,因为遍历后该生成器对象就不存在了。

5. 元组与列表的区别

(1)列表可变,元组不可变,除非整体替换。

(2)列表可以用append()、extend()、insert()、remove()、pop()实现添加和删除功能,而元组没有这几个方法。

(3)列表支持通过切边进行修改和访问,而元组只支持访问,不支持修改,再不进行任何修改时,建议使用元组。

(4)元组比列表的访问和处理速度快。

(5)列表不能作为字典的键,而元组可以。

以上就是python 元组的使用方法的详细内容,更多关于python元组使用的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python读取word文档的方法
May 09 Python
Python使用redis pool的一种单例实现方式
Apr 16 Python
Python多进程并发与多线程并发编程实例总结
Feb 08 Python
使用Python从零开始撸一个区块链
Mar 14 Python
python将文本分每两行一组并保存到文件
Mar 19 Python
对pandas的层次索引与取值的新方法详解
Nov 06 Python
python实现RabbitMQ的消息队列的示例代码
Nov 08 Python
聊聊python里如何用Borg pattern实现的单例模式
Jun 06 Python
Python 3.8正式发布重要新功能一览
Oct 17 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
Sep 17 Python
如何通过python实现全排列
Feb 11 Python
python实现的分层随机抽样案例
Feb 25 Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 #Python
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
Jun 09 #Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
Jun 09 #Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 #Python
在pycharm中debug 实时查看数据操作(交互式)
Jun 09 #Python
Python devel安装失败问题解决方案
Jun 09 #Python
python属于跨平台语言码
Jun 09 #Python
You might like
重料打造自己的“宝马”---第三代
2021/03/02 无线电
PHP简单获取视频预览图的方法
2015/03/12 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
JS 控件事件小结
2012/10/31 Javascript
JS+CSS3模拟溢出滚动效果
2016/08/12 Javascript
jQuery用FormData实现文件上传的方法
2016/11/21 Javascript
vue-router跳转页面的方法
2017/02/09 Javascript
微信小程序实现评论功能
2018/11/28 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
2019/09/27 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
手把手带你搭建一个node cli的方法示例
2020/08/07 Javascript
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
python目录与文件名操作例子
2016/08/28 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
Python告诉你木马程序的键盘记录原理
2019/02/02 Python
python分别打包出32位和64位应用程序
2020/02/18 Python
Python smtp邮件发送模块用法教程
2020/06/15 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
高中化学教学反思
2014/01/13 职场文书
早读迟到检讨书
2014/01/24 职场文书
高中生期末评语
2014/01/28 职场文书
法制宣传实施方案
2014/03/13 职场文书
小学生毕业评语
2014/12/26 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
应收账款管理制度
2015/08/06 职场文书
windows11选中自动复制怎么开启? Win11自动复制所选内容的方法
2022/07/23 数码科技