python元组

元组的创建很简单,只需要在括号中添加元素,并使用逗号隔开即可,创建一个空元组,执行命令

var = () ,因为元组中的元素是不可修改的,所以列表中的操作方法insert,append,pop等操作对于元组这些都没有,又因为元组与列表的高度相似,列表的切片对元组是完全适用的(切片并不改变原始数据),所以只需要记住一个原则,列表中修改元素值的操作元组都不可用,列表中不修改元素值的操作元组基本上都可以用

元组和列表是可以互相转换的,使用tuple(list)可以将一个列表转换成元组,反过来使用list(tuple)也可以将一个元组转换为列表

编写一个showtuple.py来实验试一下

showtuple.py代码如下:

# coding: utf-8
__author__ = 'www.py3study.com'
class showtuple(object):
    def __init__(self):
        self.T1 = ()
        self.createtuple()  #创建元组
        self.subtuple()     #元组分片
        self.tuple2list()   #元组,列表转换

    def createtuple(self):
        print(u'创建元组')
        print(u"T1 = (1,2,3,4,5,6,7,8,9,10)")
        self.T1 = (1,2,3,4,5,6,7,8,9,10)
        print(u"T1 =")
        print(self.T1)
        print('\n')

    def subtuple(self):
        print(u"元组分片:")
        print(u"取元组T1的第4个到最后一个元组组成的新元组,执行命令T1[3:]")
        print(self.T1[3:])
        print(u"取元组T1的第2个到倒数第2个元素组成的新元组,步长为2,执行命令T1[1:-1:2]")
        print(self.T1[1:-1:2])
        print('\n')

    def tuple2list(self):
        print(u"元组转换成列表")
        print(u"显示元组")
        print(u"T1 =")
        print(self.T1)
        print(u"执行命令 L2 = list(T1)")
        L2 = list(self.T1)
        print(u"显示列表")
        print(u"L2 =")
        print(L2)
        print(u"列表追加一个元素100后,转换成元组,执行命令L2.append(100),tuple(L2)")
        L2.append(100)
        print(u"显示新元组")
        print(tuple(L2))

if __name__ == '__main__':
    st = showtuple()

执行结果如下:

"C:Program Files (x86)python3.6python.exe" D:/python3_study/showtuple.py 创建元组 T1 = (1,2,3,4,5,6,7,8,9,10) T1 = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 元组分片: 取元组T1的第4个到最后一个元组组成的新元组,执行命令T1[3:] (4, 5, 6, 7, 8, 9, 10) 取元组T1的第2个到倒数第2个元素组成的新元组,步长为2,执行命令T1[1:-1:2] (2, 4, 6, 8) 元组转换成列表 显示元组 T1 = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 执行命令 L2 = list(T1) 显示列表 L2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 列表追加一个元素100后,转换成元组,执行命令L2.append(100),tuple(L2) 显示新元组 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100)

因为元组和列表高度相似,绝大部分场合都可以用列表来代替元组

由于元组不可修改的特性,一般在函数中需要返回多个返回值时,可以将这些返回值放入一个元组中返回

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏GreenLeaves

JavaScript引用类型之RegExp类型(正则表达式)

ECMAScript中使用RegExp来支持正则表达式。使用下面类似Perl的语法,就可以创建一个正则表达式。 var expression=/pattern...

208100
来自专栏Golang语言社区

厚土Go学习笔记 | 16. go语言有指针 没有指针运算

指针内其实就是保存了一个变量地址。 var p *int 这行代码声明了一个 int 类型的指针 p i := 42 p = &i & 符号是取地址符,&i 代...

364100
来自专栏GreenLeaves

JavaScript之对象学习

对象是一种非常重要的数据类型,他是一种自包含的数据集合,包含在对象里面的数据可以通过属性和方法两种形式来访问; 1.属性是隶属于某个特定对象的变量; 2.方法是...

23770
来自专栏数据之美

Python FAQ(常见问题解答)(1)

声明:转载需署名出处,严禁用于商业用途! 1、python的帮助: help(str) 可以查看str字符类的帮助信息。 2、python没有括号来表明...

30580
来自专栏Astropeak

为什么不需要为Python对象添加 getter 和 setter

14520
来自专栏信安之路

Python 2.7 正则中篇

如上面元字符对照表里的所有字符在正则中表现是一个范围而不能作为字符匹配,例如[0-9]之中的-用来表示0到9的一个范围,而不能匹配横线字符。

12100
来自专栏LEo的网络日志

python技巧分享(十)

440130
来自专栏Golang语言社区

Golang语言--可变参数函数,何时该使用省略号(...)

今天的一个例子中发现,对于在调用可变参数函数时,不是总能使用省略号将一个切片展开,有时候编译器可能会报错,为了清除的说明这个问题,我用几个小例子一步一步说明。 ...

560100
来自专栏云霄雨霁

追踪收集解决方法

18500
来自专栏用户2442861的专栏

Python中GBK, UTF-8和Unicode的编码问题

编码问题,一直是使用python2时的一块心病。几乎所有的控制台输入输出、IO操作和HTTP操作都会涉及如下的编码问题:

31210

扫码关注云+社区

领取腾讯云代金券