• python(1)


    列表(list)

    列表是经常用到的一种数据类型,是一组有序的数据集合,可以将各种数据有序的存放在列表中,并且可以对其进行增删改查,以及遍历。

    列表就是为了使变量能够存储更多的信息,比如我想存储一张购物清单,然后程序只需要调用该变量就可以找到其中的商品。例如:

    >>> shopping_list = ['Iphone', 'Mac', 'Bike','Coffee','Car','Clothes','Food','Gift'] 
    >>> shopping_list 
    ['Iphone', 'Mac', 'Bike', 'Coffee', 'Car', 'Clothes', 'Food', 'Gift']

    通过内置的len()函数可以查看列表中元素的个数

    >>>len(shopping_list)
    8

    如果要取出shopping_ist列表中的某一个数据,那应该怎么做呢?

    >>>shopping_list[0]
    'Iphone'
    >>>shopping_list[2]
    'Bike'
    >>>shopping_list[-1]
    'Gift'
    >>>shopping_list[-2]
    Food

    如上,显然,只需要通过索引就可以取出对应的元素,但要注意的是索引是从0开始的,-1表示倒数第一个元素,-2表示倒数第二个,以此类推,shopping_list列表有8个元素,那索引是0-7,那shopping_list[8]会输出什么呢?

    >>>shopping_list(8)
    Traceback (most recent call last): 
       File "<stdin>", line 1, in <module> 
    IndexError: list index out of range

    程序报错了,看最后一行,索引错误,超出列表索引范围。

    这里介绍一个函数,这个函数可以将列表中所有元素的索引打印出来

    >>> a = ['a','b','c','d']
    >>> for k,v in a.enumrate():
    ...  print(k,v)
    ...
    0 a
    1 b
    2 c
    3 d

    前面我们说了怎么取列表中的元素,但是每次只是取一个元素,那有没有办法一次取出多个元素呢?

    这就是接下来要说的:列表的切片

    >>>shopping_list
    ['Iphone', 'Mac', 'Bike','Coffee','Car','Clothes','Food','Gift'] 
    >>>shopping_list[0:3]
    ['Iphone', 'Mac', 'Bike']
    >>>shopping_list[:3]
    ['Iphone', 'Mac', 'Bike']
    >>>shoping_list[3:5]
    ['Coffee','Car']
    >>>shopping_list[0:-3]
    ['Iphone', 'Mac', 'Bike','Coffee','Car']
    >>>shopping_list[1:8:2]
    ['Mac','Coffee','Clothes','Gift']

    不多说了,很简单,需要注意的是shopping_list[0:3]取第0-3的元素,不包括索引为3的,因为索引为2的元素就是第三个。

    最后一个shopping_list[1:8:2]中,2是步长,即每隔一个取一个

    列表的增删改

    >>>shopping_list.append('Cup')    #向列表追加元素
    ['Iphone', 'Mac', 'Bike', 'Coffee', 'Car', 'Clothes', 'Food', 'Gift','Cup']
    >>>shopping_list.pop()    #删除最后一个元素
    'Cup'
    >>>shopping_list.remove('Mac')   #删除叫‘Mac’的元素,如果有多个‘Mac’,则移除第一个
    >>>shopping_list
    ['Iphone', 'Bike', 'Coffee', 'Car', 'Clothes', 'Food', 'Gift']
    >>>shopping_list[2] = 'COFFEE'     #修改索引为2的元素
    >>>shopping_list
    ['Iphone', 'Bike', 'COFFEE', 'Car', 'Clothes', 'Food', 'Gift']
    >>>shopping_list.insert[3,'Toy']   #在索引3的位置插入元素
    >>>shopping_list
    ['Iphone', 'Bike', 'COFFEE','Toy', 'Car', 'Clothes', 'Food', 'Gift']
    >>>shopping_list.index('Toy')    #返回'Toy'的索引值,如果有多个,则返回第一个
    >>>shopping_list.conut('Toy')   #返回列表中有多少个'Toy'
    1
    >>>list = ['apple','orange']
    >>>shopping_list.extend(list)    #将list合并到shopping_list中
    >>>shopping_list
    ['Iphone', 'Bike', 'COFFEE','Toy', 'Car', 'Clothes', 'Food', 'Gift','apple','orange']
    >>> shopping_list.sort()      #将列表排序
    >>> shopping_list
    ['Bike', 'COFFEE', 'Car', 'Clothes', 'Food', 'Gift', 'Iphone', 'Toy', 'apple', 'orange']
    >>> shopping_list.reverse()      #将列表反转
    >>> shopping_list
    ['orange', 'apple', 'Toy', 'Iphone', 'Gift', 'Food', 'Clothes', 'Car', 'COFFEE', 'Bike']
    >>> del shopping_list[3:8]   #删除列表索引3-7的元素
    >>> shopping_list
    ['orange', 'apple', 'Toy', 'COFFEE', 'Bike']

    元组:

    与列表差不多,不同的是元组是只读的,一旦定义将不能被修改。

    值得注意的是,元组在定义的时候,如果只有一个元素,需要加一个逗号,比如

    >>> t = (1)
    >>> type(t)
    <class 'int'>
    >>> t = (1,)
    >>> type(t)
    <class 'tuple'>
    >>> t = ('Jack')
    >>> type(t)
    <class 'str'>
    >>> t = ('Jack',)
    >>> type(t)
    <class 'tuple'>

    看出问题了吗?如果不加逗号的话,会识别成数字或字符串。所以只有一个元素的时候,需要加一个逗号,消除歧义。

  • 相关阅读:
    尝试MVP模式
    ERP框架开发中的License许可验证机制设计与实现 (包含源代码下载)
    25个增强iOS应用程序性能的提示和技巧
    BarCode条形码基于C# GDI+ 的实现
    Visual Studio ALM + Team Foundation Server Blog
    通过分析内存来优化.NET程序
    Zachman框架
    常用的微软软件和下载地址
    Windows Live Writer for cnblogs
    TDD:MS自带的单元测试 之 线程模型和执行顺序
  • 原文地址:https://www.cnblogs.com/huangxm/p/5142163.html
Copyright © 2020-2023  润新知