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

    Python list(列表) 和 tuple(元组)

    list 列表

    Python内置的一种数据结构。list:一种有序的集合,可以随时添加和删除其中的元素。

    list的用法

    定义list

    >>> people = ['Aobo Jaing', 'Yunjie Wu', 'Shutong Liu']
    >>> people
    ['Aobo Jaing', 'Yunjie Wu', 'Shutong Liu']

    或者:([]表示list数据类型。)

    >>> L = []
    >>> len(L)
    0

    得到list中元素的数量,即获取list长度

    >>> len(people)
    3

    得到list中指定的元素

    >>> people[0]
    'Aobo Jaing'
    >>> people[1]
    'Yunjie Wu'
    >>> people[2]
    'Shutong Liu'
    >>> people[3]
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    IndexError: list index out of range

    索引超出了范围,Python报出IndexError错误。所以,要确保索引不要越界,最后一个索引号是:len(people)-1或者-1

    >>> people[len(people)-1]
    'Shutong Liu'
    >>> people[-1]
    'Shutong Liu'

    同样的原理:

    >>> people[-2]
    'Yunjie Wu'
    >>> people[-3]
    'Aobo Jaing'

    list里添加元素

    • 追加到list末尾
    >>> people.append('Binggun Xiao')
    >>> people
    ['Aobo Jaing', 'Yunjie Wu', 'Shutong Liu', 'Binggun Xiao']
    • 添加到指定索引位置
    >>> people.insert(1, 'TianTong Ji')
    >>> people
    ['Aobo Jaing', 'TianTong Ji', 'Yunjie Wu', 'Shutong Liu', 'Binggun Xiao']

    删除list中的元素

    • 删除最后一个元素
    >>> people.pop()
    'Binggun Xiao'
    >>> people
    ['Aobo Jaing', 'TianTong Ji', 'Yunjie Wu', 'Shutong Liu']
    • 删除指定索引值的元素
    >>> people.pop(1)
    'TianTong Ji'
    >>> people
    ['Aobo Jaing', 'Yunjie Wu', 'Shutong Liu']

    改变list某个元素的值

    >>> people[2] = 'Yue Chen'
    >>> people
    ['Aobo Jaing', 'Yunjie Wu', 'Yue Chen']

    其他

    • list里面的元素的数据类型可以不同
    >>> L = ['Banana', 123, True]
    • list里面的元素也可以有list数据类型
    >>> p = ['C', 'C++']
    >>> s = ['python', 'java', p, 'scheme']
    >>> len(s)
    4
    >>> s[2][1]
    'C++'

    tuple 元组

    什么是元组:就是一个定义完,就不能在改变的list列表。(简单的说,tuple元组类似于C语言里的静态数组。)

    Python中的另一种数据类型:tuple。与list非常类似,只是tuple一旦初始化就不能修改,所以tuple没有append()insert()这样的方法。

    tuple:定义

    ()表示tuple数据类型。)

    >>> people = ('Aobo Jaing', 'Yunjie Wu', 'Shutong Liu')
    >>> people
    ('Aobo Jaing', 'Yunjie Wu', 'Shutong Liu')

    tuple:不可改变

    不可改变指的是:不能添加删除元素,并且元素值也是不可以改变的:

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

    但是tuple里的list元素是可以改变元素值的。

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

    tuple:注意

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

    如果只有一个元素,需要注意,那么定义的就不是tuple数据结构,是1这个整数变量类型。所以,就一个元素的tuple需要这样定义:

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

    Python显示只有1个元素的tuple,会在后面加一个逗号,,就是为了区分。


    总结

    listtuplePython内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。


    Python 中还有三中数据结构字典序列引用。后面的学习中会依次讲解。


    参考网站:
    http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014316724772904521142196b74a3f8abf93d8e97c6ee6000#0

  • 相关阅读:
    JavaScript学习总结(十一)——Object类详解
    在mysql命令行下执行sql文件
    canal HA配置
    canal 常用配置
    canal 监控数据库表 快速使用
    HashMap 因子对性能的影响
    JVM 调优
    JVM jstat 详解
    Tomcat 异常关闭排查
    Mysql canal 监控数据变化
  • 原文地址:https://www.cnblogs.com/aobosir/p/5928646.html
Copyright © 2011-2022 走看看