zoukankan      html  css  js  c++  java
  • Python学习笔记之疑问12:什么是tuple

    >>> t = ("a", "b", "mpilgrim", "z", "example") 
    >>> t
    ('a', 'b', 'mpilgrim', 'z', 'example')
    >>> t[0] 
    'a'
    >>> t[-1] 
    'example'
    >>> t[1:3] 
    ('b', 'mpilgrim')

    1.与List类似,但用小括号代替中括号。

    2.可以通过索引访问成员,负数代表从结尾开始计数

    3.可以用冒号表示一段切片,当分割一个 list 时,会得到一个新的 list ;当分割一个 tuple 时,会得到一个新的 tuple。

    >>>>>> b = (1,2,3)
    >>>>>> b[-1]

    >>>>>> b[1:-1]
    (2,)(2,)
    >>>>>> b=(1,2,3)
    >>>>>> b[1]

    >>>>>> b[1:]
    (2, 3)(2, 3)
    >>>>>> b[-1]

    >>>>>> b=[1,2,3]
    >>>>>> b[1] = 100
    >>>>>> b
    [1, 100, 3]
    >>>>>>

    4.Tuple 没有方法,最多可以使用 in 。

    >>> "z" in t 
    True

    >>> 'a' in a
    True
    >>> 'a' not in a
    False
    >>>

    tuple 有什么好处

    1.比list快

    2.因为一旦创建了一个 tuple,就不能以任何方式改变它。所以,他天然地有定保护的特性,如果确实需要改,需要先转换成list

    3.tuple可以在 dictionary 中被用做 key,而list不行。

    4.Tuples 可以用在字符串格式化中,我们会很快看到。

    5.tuple和list之间可以互换。


    >>>>>> a = ['a', 'b', 'c']
    >>>>>> a
    ['a', 'b', 'c']
    >>>>>> b = tuple(a)
    >>>>>> b
    ('a', 'b', 'c')
    >>>>>> c = list(b)
    >>>>>> c
    ['a', 'b', 'c']
    >>>>>>

    使用字符串参数时,会把字符串中的每个字母做为tuple中的一个成员。

    >>> tuple("abcdefg")
    ('a', 'b', 'c', 'd', 'e', 'f', 'g')
    >>>

  • 相关阅读:
    57.大数据线性处理csdn数据(fread,fwrite) 百万数据秒读数据
    56.fread fwrite
    ZOJ 2724 Windows Message Queue (二叉堆,优先队列)
    priority_queue用法(转载)
    Runtime Error(ACCESS_VIOLATION)
    POJ 2309 BST(二叉搜索树)
    POJ 2255 Tree Recovery
    [转载]C++Assert()函数
    POJ 2499 Binary Tree
    POJ 3437 Tree Grafting
  • 原文地址:https://www.cnblogs.com/littleebeer/p/3353566.html
Copyright © 2011-2022 走看看