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'
    

    二维数组中取相应的数

  • 相关阅读:
    IE 11 使用 flexbox 垂直居中 bug
    Electron build 无法下载 winCodeSign 等资源
    Electron 开发环境下总是 crash
    解决 Electron 包下载太慢问题
    Netty--数据通信和心跳检测
    Netty编解码技术和UDP实现
    Netty入门
    Java 网络IO编程(BIO、NIO、AIO)
    java.util.concurrent常用类(CountDownLatch,Semaphore,CyclicBarrier,Future)
    JDK多任务执行框架(Executor框架)
  • 原文地址:https://www.cnblogs.com/Python666/p/6637716.html
Copyright © 2011-2022 走看看