zoukankan      html  css  js  c++  java
  • Python list(列表)


    Python一共有6种序列的内置类型,list和tuple是其中最常见的。6种序列的都可以进行的操作包括索引、切片,加(实际上是连接),乘(实际上是复制),检查成员是否存在。

    Python list

    list格式:以大括号作为识别符, 元素之间以”,”间隔, 末尾加不加”;”语法上都没错。

    list = [元素1,元素2,…]; //;可省略

    list的元素可以是任何数据类型,也可以是另一个list(即类型多维数组那样的嵌套类型)。

    其他语言里面的数组严格限定序列里面的元素必须是同种元素,但是请注意,虽然list跟数组有操作重叠的地方,但与数组(即线性表)是完全不同的数据结构。

    list1 = ['apple', 'banana', 'cabbage'];
    list2 = [1, 2, 3, 4]
    list3 = ['one', 2, True, 3.14];
    list4 = ['abc', list1, list2];
    #list里面的元素可以是同种元素 也可以是不同种元素 还可以是另一个list

    基本操作

    list中每个元素都分配了一个索引,从0开始,类似数组的下标,可以利用索引实现随机存取和更改。

    >>> list = ['a', 'b', 'c', 'd']
    >>> list[1]
    'b'
    >>> list[1] = 'g'
    >>> list[1]
    'g'
    >>> del list[1] #del可以用来删除其中的元素
    >>> list
    ['a', 'c', 'd']

    Python更为优越的是,可以利用负数索引反向读取,即-1表示倒数第一个,以此类推。除此之外还可以进行截取操作。

    >>> list = ['a', 'b', 'c', 'd']
    >>> list[-1]
    'd'
    >>> list[1:]
    ['b', 'c', 'd']

    当使用不存在的元素的索引时,会报错。

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    IndexError: list index out of range
    #事实上,最后一行英文的翻译为:索引错误: list索引超出范围。英文好事半功倍。

    Python list 脚本操作符

    Python表达式结果描述
    len([1, 2, 3,4])4求list长度
    [1, 2, 3] + ['a', 'b', 'c'][1, 2, 3, 'a', 'b', 'c']“+”实际上是连接
    ['a'] * 3['a','a','a']“*” 实际上是复制
    3 in [1, 2, 3, 4]True检查成员是否存在
    for i in [1, 2, 3, 4] print(x)1 2 3 4迭代

    Python list 函数&方法

    Python内置以下操作list的函数:

    函数说明
    cmp(list1, list2)比较两个列表的元素,比较方法与其他语言字符串的比较相同。
    len(list)求列表元素个数。
    max(list)返回列表元素最大值
    min(list)返回列表元素最小值
    list(tuple)将元组转换为列表

    Python list包含以下方法:

    方法说明
    list.append(obj)在列表末尾添加新的对象
    list.count(obj)统计某个元素在列表中出现的次数
    list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
    list.index(obj)列表中找出某个值第一个匹配项的索引位置
    list.insert(index, obj)将对象插入列表
    list.pop(obj=list[-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    list.remove(obj)移除列表中某个值的第一个匹配项
    list.reverse()反向列表中元素
    list.sort([func])对原列表进行排序
  • 相关阅读:
    关于Maya Viewport 2.0 API 开发的介绍视频
    春节大假
    Some tips about the life cycle of Maya thread pool
    Can I compile and run Dx11Shader for Maya 2015 on my side?
    How to get current deformed vertex positions in MoBu?
    想加入全球首届的 欧特克云加速计划吗?
    三本毕业(非科班),四次阿里巴巴面试,终拿 offer(大厂面经)
    mac、window版编辑器 webstorm 2016... 永久破解方法。
    node 搭载本地代理,处理web本地开发跨域问题
    js 一维数组,转成嵌套数组
  • 原文地址:https://www.cnblogs.com/wanghongze95/p/13842630.html
Copyright © 2011-2022 走看看