精华内容
下载资源
问答
  • python中Tuple详解

    2019-04-09 15:16:11
    python中Tuple详解 另外, 还有一个和list 很像的数据tuple.中文叫元组.他和list的主要区别就是, tuple是一开始就定义好的, 即, assign first,之后就永远不能被改变了. 所以, 一般全局比较重要的数据,我们都是使用...

    python中Tuple详解

    另外, 还有一个和list 很像的数据tuple.中文叫元组.他和list的主要区别就是, tuple是一开始就定义好的, 即, assign first,之后就永远不能被改变了. 所以, 一般全局比较重要的数据,我们都是使用tuple进行存放的.

    (一)我们来创建一个Tuple

    创建一个Tuple 通常来说,Tuple是放在parentheses 即, 圆括号() 内部.

    >>> tub = (1,2,3)
    >>> type(tub)
    <class 'tuple'>
    复制代码

    不过, 最近很流行的是 without parentheses. 即, 不加括号的方式. show:

    >>> tub = 1,2,3
    >>> type(tub)
    <class 'tuple'>
    复制代码

    这个名叫, tuple packing. 个人翻译为元组包. 不过在, 使用tuple的时候,需要注意,只有一个元素的tuple的创建(md,一个元素你还创建tuple干嘛,浪费内存?)一个元素的tuple创建, 需要在末尾+, 进行相关标识

    >>> tub = 1,
    // 或者
    >>> tub = (1,)
    >>> type(tub)
    <class 'tuple'>
    复制代码

    如果,你想访问tuple的话, 和访问list 是一个道理

    >>> tub = (1,2,3,4,5,6,7)
    >>> tub[0]
    1
    //当然,你也可以取负值
    >>> tub[-1]
    7
    复制代码

    所以,这里我们也可以使用for...in...进行 遍历.

    (二):不变的Tuple

    一般创建了一个tuple, 之后你就用于无法改变他的值了, 也就是你不能删除,或者添加。不过,如果你的tuple里面放一些可变的内容的话, 比如,list的话,那情况就不一样了。基于这一点,我们理解tuple 应该说为 shallow不变形。即,不能改变值类型,但可以改变引用类型.

    >>> tup
    (1, 2, 3, [2, 3], 5)
    >>> tup[3]
    [2, 3]
    >>> tup[3].append(1)
    >>> tup
    (1, 2, 3, [2, 3, 1], 5)
    //删除tup, 会报错
    >>> del tup[0]
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'tuple' object doesn't support item deletion
    复制代码

    虽然,我们不能对tuple执行CD操作, 但相关的查询方法我们还是可以使用的

    (三):Tuple 查询

    在tuple里面有两个查询方法, index和count, 另外你使用in也是没有问题的

    >>> my_tuple = ('a','p','p','l','e',)
    >>> my_tuple.count('p')
    2
    >>> my_tuple.index('l')
    3
    >>> 'a' in my_tuple
    True
    复制代码

    同样, 关于list的一些built-in methond. 在tuple身上也是使用的, 有 max,min,sum,all,any,len,sorted. 这几个, 都是木有问题的

    总结一下: tuple方法什么时候我们用Tuple? tuple就是用来放不变的数据,并且tuple在内部中有遍历加速(因为不变).


    转载于:https://juejin.im/post/5cacb70df265da03981fa8e4

    展开全文
  • Python中tuple格式化字符串
                   

    4.1 元组定义:

    1. 说明:元组不可以修改,一般用圆括号括起来
    2. 例子:

    元组的定义:使用圆括号括起来,元素之间用逗号分隔;空的圆括号表示空元组;当只有一个元素时,必须以逗号结尾。

    #一般元组>>> 1,2,3(1, 2, 3)>>> (1,2,3)(1, 2, 3)#一个元素的元组>>> (1,)(1,)>>> 2,(2,)#空元组>>> ()()>>> #元组的乘法>>> 4* (2,)(2, 2, 2, 2)>>> 

    4.2 tuple函数

    1. 说明:以一个序列为参数,将其转换为元组;
    2. 例子:
    >>> tuple("CONSTANT")('C', 'O', 'N', 'S', 'T', 'A', 'N', 'T')>>> tuple(list("CONST"))('C', 'O', 'N', 'S', 'T')>>> 

     

     

     

    创建一个tuple是简单,只要把不同的逗号分隔值可选,你可以把这些括号逗号分隔值。例如:

    tup1 = ('physics', 'chemistry', 1997, 2000);tup2 = (1, 2, 3, 4, 5 );tup3 = "a", "b", "c", "d";

    空的tuple包含两个没有括号写:

    tup1 = ();

    写一个包含一个单一的价值,你必须包含一个逗号,即使是只有一个值:

    tup1 = (50,);

    字符串的索引一样,元组指数从0开始,元组可以被切片,串联等。

    访问元组中的值:

    要访问的tuple值,使用指数或指数切片获得的价值在该指数的方括号:
    例如:

    #!/usr/bin/pythontup1 = ('physics', 'chemistry', 1997, 2000);tup2 = (1, 2, 3, 4, 5, 6, 7 );print "tup1[0]: ", tup1[0]print "tup2[1:5]: ", tup2[1:5]

     这将输出以下结果:

    tup1[0]:  physicstup2[1:5]:  [2, 3, 4, 5]

    更新元组:

    元组是不可改变的,这意味着你不能更新或改变元组元素的值。但是,我们能够能够利用现有的元组的部分如下创建一个新的元组:
    例如:

    #!/usr/bin/pythontup1 = (12, 34.56);tup2 = ('abc', 'xyz');# Following action is not valid for tuples# tup1 += tup2;# So let's create a new tuple as followstup3 = tup1 + tup2;print tup3;

     这将输出以下结果:

    (12, 34.56, 'abc', 'xyz')


    删除元组的元素:

    删除单个元组元素是不可能的。有,当然,把另一个丢弃不需要的元素的tuple没有错。
    要明确地删除整个元组,只需使用del语句:
    例如:

    #!/usr/bin/pythontup = ('physics', 'chemistry', 1997, 2000);print tup;del tup;print "After deleting tup : "print tup;

    这将输出以下结果:

    ('physics', 'chemistry', 1997, 2000)After deleting tup :Traceback (most recent call last):  File "test.py", line 9, inprint tup;NameError: name 'tup' is not defined

    基本操作元组:

    元组的回应很像字符串+和*运算符,他们在这里的意思串联重复太多,但结果是一个新的tuple,而不是一个字符串。
    事实上,元组应对所有在之前的章节,我们对字符串使用的一般顺序操作:

    Python表达式 结果 描述
    len((1, 2, 3))3Length
    (1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)Concatenation
    ['Hi!'] * 4('Hi!', 'Hi!', 'Hi!', 'Hi!')Repetition
    3 in (1, 2, 3)TrueMembership
    for x in (1, 2, 3): print x,1 2 3Iteration

     


    索引,切片,和矩阵:

    因为元组序列,索引和切片工作,以同样的方式,为他们做字符串的元组。

    假设下面的输入:

    L = ('spam', 'Spam', 'SPAM!')


     

    Python 表达式 结果 描述
    L[2]'SPAM!'Offsets start at zero
    L[-2]'Spam'Negative: count from the right
    L[1:]['Spam', 'SPAM!']Slicing fetches sections


     

    没有围护分隔符:

    任何多个对象的集合,以逗号分隔,没有识别符号写的,也就是说,括号内的元组的列表,括号等,默认元组,因为在这些短期的例子表明:

    #!/usr/bin/pythonprint 'abc', -4.24e93, 18+6.6j, 'xyz';x, y = 1, 2;print "Value of x , y : ", x,y;print var;

    这将输出以下结果:

    abc -4.24e+93 (18+6.6j) xyzValue of x , y : 1 2

     

     

     

    result = '%s%s' % (self._root, self._key)

    偶尔格式化字符串时会加入tuple,我一直弱弱地这么做:

     
    1tup = (1,2)
    2'tup:(%d, %d)' % (tup[0], tup[1])

    或者这么做

     
    1tup = (1,2)
    2

    'tup: %s'% str(tup)

     

               
    展开全文
  • Python中Tuple(元组)

    2020-04-08 13:08:48
    Python中Tuple(元组) Tuple的创建 tuple是另一种有序的列表,也称为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。 同样是表示班里同学的名称,用tuple表示如下: >>> ...

    Python中Tuple(元组)

    Tuple的创建

    • tuple是另一种有序的列表,也称为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。
      同样是表示班里同学的名称,用tuple表示如下:

      >>> t = ('Zhangsan', 'Lisi', 'Wangwu')
      
    • 创建tuple和创建list唯一不同之处是用( )替代了[ ]。

    • 创建好了 t 就不能改变了,tuple没有 append()方法,也没有insert()和pop()方法。所以,新同学没法直接往 tuple 中添加,老同学想退出 tuple 也不行。

    • 获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素。

      	>>> t[0] = 'hhh'
      	Traceback (most recent call last):
      	File "<stdin>", line 1, in <module>
      	TypeError: 'tuple' object does not support item assignment
      

    Python之创建单元素tuple

    tuple和list一样,可以包含 0 个、1个和任意多个元素,包含多个元素的 tuple,前面我们已经创建过了,接下来我们创建包含 0 个和1个元素的 tuple。

    • 0个元素的tuple也就是空tuple,直接用 ()表示:

      	>>> t = ()
      	>>> print t
      	()
      
    • 创建包含1个元素的 tuple ,先按照我们的理解来试试:

      	>>> t = (1)
      	>>> print t
      	1
      

      ??? 好像哪里不对!t 不是 tuple ,而是整数1。为什么呢?
      因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1)被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。用()定义单元素的tuple造成了歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:

      	>>> t = (1,)
      	>>> print t
      	(1,)
      

      Python在打印单元素tuple时,也自动添加了一个“,”,为了更明确地告诉你这是一个tuple。

    • 多元素 tuple 加不加这个额外的“,”效果是一样的:

      	>>> t = (1, 2, 3,)
      	>>> print t
      	(1, 2, 3)
      

    Python之“可变”的tuple

    • 前面我们看到了tuple一旦创建就不能修改。现在,我们来看一个“可变”的tuple:
      	>>> t = ('a', 'b', ['A', 'B'])
      
      注意到 t 有 3 个元素:‘a’,'b’和一个list:[‘A’, ‘B’]。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到:
      >>> L = t[2]
      
      然后,我们把list的两个元素改一改:
      	>>> L[0] = 'X'
      	>>> L[1] = 'Y'
      
      再看看tuple的内容:
      >>> print t
      ('a', 'b', ['X', 'Y'])
      
      1. 表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。
      2. tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向’a’,就不能改成指向’b’,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

    小结

    • tuple创建单元素时,需要用,放在结尾防止歧义;
    • tuple如果可定义成可变的,那就将里面的元素定义成一个list。
    展开全文
  • Python tuple 的基本用法(在会 Python list 的前提下)1. list 和 tuple 的区别2. 例子 1. list 和 tuple 的区别 list: 有序的,可以增删改查。表示:[] tuple: 有序的,可以查,不可增删改。表示:(,) ...

    Python 中 tuple 的基本用法(在会 Python 中 list 的前提下)

    1. list 和 tuple 的区别

    list: 有序的,可以增删改查。表示:[]
    tuple: 有序的,可以查,不可增删改。表示:(,)

    强制性:list 后面不加逗号,tuple 后面加上逗号

    2. 例子

    list 和 tuple 是优先级是一样的!

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    由上面的例子可以得知:list 与 tuple 同级,实行 “就近原则”

    3. tuple 的基本方法

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

    例子:
    在这里插入图片描述

    展开全文
  • Python中Tuple和List的区别与用法 1.语法上的差别 someTuple = (1,2) someList = [1,2] 2. 数据size上的差别 a = tuple(range(1000)) b = list(range(1000)) a.__sizeof__() # 8024 b.__sizeof__() # 9088 由于...
  • python中tuple构成的list的排序 - Waleking的专栏 - 博客频道 - CSDN.NET python中tuple构成的list的排序 分类: python 2012-07-03 20:48 39人阅读 评论(0) 收藏 举报tuple构成的list可以按照tuple中的任意一位进行...
  • python中tuple和namedtuple

    2020-05-10 22:56:02
    tuple 拆包属性,不可变对象 user_tuple = ('ha', 22, 175,) name, age, height = user_...元组的不可变不是绝对的,在元组放入可修改对象时则可以修改,在实际使用要避免这种情况 user_tuple = ('ha', 22, 175
  • tuple 和 list 的区别 `` tuple_data = (1,2,3)#定义一个元素为整型的元组 tuple_data[0]= 4#给tuple_data下标为0的元素重新赋值为4 print(tuple_data,type(tuple_data))#打印tuple_data 和其类型 运行结果:...
  • python中tuple(元组)使用总结

    千次阅读 2017-09-26 20:57:09
    摘自廖雪峰python学习。tuple和list唯一区别即tuple为常量,一经确定无法修改。...Out [2]: 2需要注意的两点:tuple建立单个元素的时候,不能直接In [3]: a = (1),这时括号转义成了数学计算的括号
  • Python中tuple内的元素是不可更改的,但是在tuple里可以嵌入list,tuple的list是可更改的。#创建一个只有一个元素的tuple number_tuple = (1,) mixed_tuple = (1,2,["a","b"]) print(mixed_tuple) print(mixed_...
  • 转自:http://shomy.top/2017/08/17/python-tuple-assign/ 最近偶尔翻看Fluent Python,遇到有意思的东西就记下来. 下面的是在PyCon2013上提出的一个关于tuple的Augmented Assignment也就是增量赋值的一个问题。 ...
  • a = () # 空元组对象 b = (1,5,'hello',52.30) c = ('this is tuple',[1,2,3])
  • 元组与列表类似,但是元组的元素不能修改 ...Tuple不支持元素的删除和修改 元组的元素值是不允许修改的,但我们可以对元组进行连接组合 元组的值是不可以删除的,但是我们可以删除整个元组 支持列表转换成...
  • python中tuple的比较

    2015-09-22 07:53:36
    稍微有些疑惑,查阅了下资料,发现两个tuple的大小比较的方式是从第一个位置开始逐个进行比较,如果不等,则其比较的结果就是整个tuple比较的结果;如果相同,则继续下一个位置的比较 如果一个tuple最前几个元素与另...
  • Python语言简洁明了,可以用较少... List字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:L = [12, 'China', 19.998]可以看到并不要求元素的类型都是一样的。当然也可以定义...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,781
精华内容 3,912
关键字:

python中tuple

python 订阅