zoukankan      html  css  js  c++  java
  • Python list 列表和tuple元组

    1 list是一种Python的数据类型--列表

    list是一种有序的集合,可以进行增删改查

    >>>name=[aa,bb,cc]
    >>>name
    ['aa','bb','cc']
    

    查看name的元素个数

    len(name)
    

    通过索引查找list中的元素

    >>>name[0]
    aa
    >>>name[1]
    bb
    
    >>>name[-1]  #这是最后一个元素
    

    超过元素的个数会越界,不管是正向还是反向都不能越界

    len(name)-1

    list是一个有序的表,在list末尾追加:

    >>>name.append('dd')
    >>>name
    ['aa','bb','cc','dd']
    

    在指定索引位置添加(插入)元素insert()

    >>>name.insert(1,'hh')
    >>>name
    ['hh','aa','bb','cc','dd']
    

    删除末尾元素pop()

    name.pop()  # 默认是删除最后的
    

    删除指定位置:

    name.pop(1)  # 删除1处
    name.pop(-1) #删除最后的
    

    或者

    del name[1]  # 删除1处
    

    删除元素名:

    name.remove(‘aa’)  # 直接删除对应的元素名
    

    替换某个元素,直接赋值给对应的索引位置:

    name[1] = 'hello'
    

    或者

    name[name.index('aa')] = 'haha'  # 第一步是name.index('aa') 获取aa的索引值,确定索引值后直接修改,同上
    

    统计list中某个元素的数量:

    >>>name.count('aa')
    

    list中的数据类型可以不同:

    >>> all = ['hello',123,True] # 这里面由字符串,数字,布尔
    >>> all
    ['hello', 123, True]
    

    list中可以有另外一个list:

    >>> L = ['aa','bb','cc',['dd','ee']]
    >>> L
    ['aa', 'bb', 'cc', ['dd', 'ee']]
    >>> len(L)
    4
    

    数组中还有数组,想要获得‘hh’,name[2][1]是一个二维数组

    >>> name = ['aa','bb',['ff','hh'],'cc']
    >>> p=['ff','hh']
    >>> name[2][1]
    'hh'
    

    空的list长度是0

    2 tuple元组

    tuple初始化后不能修改

    >>>name=('a','b','c')
    name[1]
    'b'
    

    tuple没有append、insert、不能赋值
    可以正常索引,注意,这里还是用[]进行索引

    不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

    定义空的tuple

    >>> L=()
    >>> len(L)
    0
    >>> L
    ()
    

    定义一个tuple

    >>> t=(1)
    >>> t
    1
    
    >>> print(type(t))
    <class 'int'>
    

    这样并不是一个tuple,()可以表示数学公式中的小括号,这样计算的是数字1,为了避免歧义,在括号中用逗号

    >>> t=(1,)
    >>> t
    (1,)
    
    >>> print(type(t))
    <class 'tuple'>
    

    Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号

    ** ” 可变的 tuple “**

    >>> t=('a','b',['c','d'])
    >>> t[2][0] = 'X'
    >>> t[2][1] = 'Y'
    >>> t
    ('a', 'b', ['X', 'Y'])
    

    这里定义的tuple有两个字符串,和一个list,所谓的tuple不变指的是tuple每个元素的指向是不变的,但是list本身是可以改变的

    练习:

    L = [
        ['Apple', 'Google', 'Microsoft'],
        ['Java', 'Python', 'Ruby', 'PHP'],
        ['Adam', 'Bart', 'Lisa']
    ]
    
    >>>print(L[0][0])
    ’Apple'
    >>>print(L[1][0])
    ’Java'
    

    二维数组中取相应的数

  • 相关阅读:
    2、容器初探
    3、二叉树:先序,中序,后序循环遍历详解
    Hebbian Learning Rule
    论文笔记 Weakly-Supervised Spatial Context Networks
    在Caffe添加Python layer详细步骤
    论文笔记 Learning to Compare Image Patches via Convolutional Neural Networks
    Deconvolution 反卷积理解
    论文笔记 Feature Pyramid Networks for Object Detection
    Caffe2 初识
    论文笔记 Densely Connected Convolutional Networks
  • 原文地址:https://www.cnblogs.com/Python666/p/6637716.html
Copyright © 2011-2022 走看看