美文网首页
Python数据类型—列表

Python数据类型—列表

作者: 凌雲木 | 来源:发表于2019-06-03 09:04 被阅读0次

    一 什么是列表

    列表由一系列按特定顺序排列的元素组成。元素可以是任何类型,比如字符串,数字,浮点等 ,其中的元素之间可以没有任何关系。
    在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素。列表中的元素可以增加,删除,修改。下面是一个简单的
    列表示例

    a="ss"
    arry=[1,a,"订单",1.2]
    print(arry)
    
    PS E:\Python\> python FirstDay.py
    [1, 'ss', '订单', 1.2]
    

    通过索引获取每个元素(索引从0开始)
    print(arry[2])

    PS E:\Python\> python FirstDay.py
    订单
    

    Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返
    回最后一个列表元素:
    print(arry[-1])

    PS E:\Python\> python FirstDay.py
    1.2
    

    这种语法很有用,因为你经常需要在不知道列表长度的情况
    下访问最后的元素。这种约定也适用于其他负数索引,例如,索引-2返回倒数第二个列表元素,
    索引-3返回倒数第三个列表元素,以此类推。

    print(arry[-4]) #打印倒数第四个元素

    print(arry[-4])
    
    1
    

    二 列表元素的增删改

    • 修改
      修改最后一个元素的值
      arry[-1]="我是最后一个"
    • 添加
      添加一个元素
      arry.append("新来的")
    print(arry[-4])
    
    [1, 'ss', '订单', '我是最后一个', '新来的']
    
    • 删除
      使用del语句删除元素:

    del arry[-1] #删除最后一项

    print(arry)
    del arry[-1]
    print(arry)
    
    [1, 'ss', '订单', '我是最后一个', '新来的']
    [1, 'ss', '订单', '我是最后一个']
    

    使用方法pop删除元素:

    pop方法将元素从列表中删除,并返回该元素的值

    arry.pop(-1)
    print(arry)
    
    [1, 'ss', '订单']
    
    a= arry.pop(-1) # 使用变量a来接收被删除的元素的值
    print(arry);
    print(a)
    
    [1, 'ss', '订单']
    我是最后一个
    

    使用remove()方法删除元素

    在不知道要从列表中删除的值的索引时。如果你只知道要删除的元素的值,可使
    用方法remove()。

    arry.append("1");
    print(arry)
    [1, 'ss', '订单', '我是最后一个', '1']
    arry.remove("1");
    print(arry)
    [1, 'ss', '订单', '我是最后一个']
    

    方法remove()只删除列表中第一个指定的值。如果要删除的值在列表中出现多次,其它值还会保存在列表中。要删除所有指定的值,需要通过循环删除。

    三 使用 range()创建数字列表

    Python函数range()让你能够轻松地生成一系列的数字
    range(1,6):生成1~5的数字,不包括上限6

    arrytwo=range(1,6);
    arry=list(arrytwo)
    for x in arry:
        print(x)
    
    1
    1
    2
    3
    4
    5
    

    range(1,6):在范围1~6中,每隔一个数字生成一系列数字,默认间隔为1
    生成1~10范围内的偶数数字,使用range(211,2)

    生成1~10的偶数并循环打印出来:

    arry1=list(range(2,11,2))
    print(arry1)
    for x in arry1:
        print(x)
    
    [2, 4, 6, 8, 10]
    2
    4
    6
    8
    10
    

    四 列表解析

    列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素

    如:使用列表解析把1~11范围中的数字的平方存放到列表中

    arry2= [value**2 for value in range(1,11)]
    print(arry2)
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    

    五 列表的部分操作

    • 1切片

    切片的实质就是从列表取部分元素,为原先列表生成子集的过程。子集最小包含列表的一个元素。最大和列表元素一样
    多,是原先列表的一个复制

    要创建列表切片,可指定从列表取元素的第一个元素和最后一个元素的索引。与函数range()一样,Python
    在到达你指定的第二个索引前面的元素后停止。要输出列表中的前三个元素,需要指定索引0~3,
    这将输出分别为0、1和2的元素。
    如:

    #列表的切片操作
    arry3=[0,"one",2,"three",4,"five"]
    print(arry3[0:3])
     
    [0, 'one', 2]
    

    打印了该列表的一个切片,输出也是一个列表,其中包含前三个索引的值
    当要创建列表的切片从第一个元素开始时,索引0可以省略:
    print(arry3[:3]),其与print(arry3[0:3])打印出的结果一样

    print(arry3[2:]):打印出包含从第二个索引到最后一个索引元素的切片

    print(arry3[-3:-1])#倒数第三个元素到倒数第一个

    • 2遍历切片:
    for x in arry3[0:3]:
        print(x)
    
    • 3复制列表
    #列表复制
    print("----------列表复制","arry4-------------")
    arry4 = ['1', '2', '3','4']
    newarry4 = arry4[:]
    print("arry4:")
    print(arry4)
    print("\nnewarry4 :")
    print(newarry4)
    

    创建了一个列表arry4,取列表arry4的一个切片(arry4[:])赋值给newarry4,最后打印出这两个列表,发现这两个列表包含的元素相同
    结果:

    ----------列表复制 arry4-------------
    arry4:
    ['1', '2', '3', '4']
    
    newarry4 :
    ['1', '2', '3', '4']
    请按任意键继续. . .
    
    

    newarry4two= arry4
    这里将列表arry4赋给newarry4two,而不是将newarry4two的副本赋给newarry4two
    。这种语法实际上是让Python将新变量newarry4two关联到包含在arry4中的列表,因此这两个
    变量都指向同一个列表。鉴于此,当我们将'5'添加到arry4中时,它也将出现在
    newarry4two中;同样,虽然'6'好像只被加入到了newarry4two中,但它也将出现在这
    两个列表中。

    相关文章

      网友评论

          本文标题:Python数据类型—列表

          本文链接:https://www.haomeiwen.com/subject/cvmytctx.html