zoukankan      html  css  js  c++  java
  • Python全栈之路之元组数据类型

     

    元组(tuple)和列表的唯一区别就是列表可以更改,元组不可以更改,其他功能与列表一样

    创建元组的两种方法

    第一种

    ages = (11, 22, 33, 44, 55)
    

    第二种

    ages = tuple((11, 22, 33, 44, 55))
    

    如果元祖内只有一个元素,那么需要加上一个逗号,否则就变成字符串了。

    In [1]: t = (1)
    
    In [2]: t
    Out[2]: 1
    
    In [3]: type(t)
    Out[3]: int
    
    In [4]: t = (1,)
    
    In [5]: t
    Out[5]: (1,)
    
    In [6]: type(t)
    Out[6]: tuple
    

    元组所具备的方法

    查看列表中元素出现的次数

    count(self, value):

    属性描述
    value 元素的值
    >>> ages = tuple((11, 22, 33, 44, 55))
    >>> ages
    (11, 22, 33, 44, 55)
    >>> ages.count(11)
    1
    

    查找元素在元组中的位置

    index(self, value, start=None, stop=None):

    属性描述
    value 元素的值
    start 开始的位置
    stop 结束的位置
    >>> ages = tuple((11, 22, 33, 44, 55))
    >>> ages.index(11)
    0
    >>> ages.index(44)
    3
    

    列表嵌套

    >>> T = (1,2,3,4,5)
    >>> (x * 2 for x in T)
    <generator object <genexpr> at 0x102a3e360>
    >>> T1 = (x * 2 for x in T)
    >>> T1
    <generator object <genexpr> at 0x102a3e410>
    >>> for t in T1: print(t)
    ... 
    2
    4
    6
    8
    10
    

    元组嵌套修改

    元组的元素是不可更改的,但是元组的元素的元素就可能是可以更改的

    >>> tup=("tup",["list",{"name":"kongling"}])
    >>> tup
    ('tup', ['list', {'name': 'kongling'}])
    >>> tup[1]
    ['list', {'name': 'kongling'}]
    >>> tup[1].append("list_a")
    >>> tup[1]
    ['list', {'name': 'kongling'}, 'list_a']
    

    元组的元素本身是不可修改的,但是如果元组的元素是个列表或者字典那么就可以被修改

    切片原地修改不可变类型

    >>> T = (1,2,3)
    >>> T = T[:2] + (4,)
    >>> T
    (1, 2, 4)
  • 相关阅读:
    javascript实现非递归--归并排序
    javascript实现二分查找
    深入javascript作用域链到闭包
    c++学习笔记2--constexpr,类型别名,auto
    用 Numba 加速 Python 代码
    Django1和2的区别
    Git的使用
    文件锁fcntl
    Https原理
    Flask-Login
  • 原文地址:https://www.cnblogs.com/ethereala/p/8688345.html
Copyright © 2011-2022 走看看