zoukankan      html  css  js  c++  java
  • 【python基础】之list列表

    python提供了一个被称为列表的数据类型,他可以存储一个有序的元素集合。

    记住:一个列表可以存储任意大小的数据集合。列表是可变对象,有别于字符串str类,str类是不可变对象。

    1.创建一个列表

    list1 = list() #创建一个空列表
    list2 = list([2,3,4]) #创建列表,包含元素2,3,4
    list3 = list(["red","green"]) #创建字符串列表
    list4 = list(range(3,6)) 
    list5 = list("abcd") 

    我们用图说话:

    2.list的常用操作

    python中的字符串和列表都是序列类型。一个字符串是一个字符串序列,而一个列表是任何元素的序列。
    序列(列表)s的常用操作
    操作 描述
    x  in  s 如果元素x在序列s中则返回true
    x  not  in  s 如果元素x不在序列s中则返回true
    s1  +  s2 连接两个序列s1和s2
    s*n,   n*s n个序列s的连接
    s[ i ] 序列s的第 i 个元素
    s[ i, j ] 序列s从下标 i 到 j-1 的片段  (列表截取)
    len(s) 序列s的长度,即s中的元素个数
    min(s) 序列s的最小元素
    max(s) 序列s的最大元素
    sum(s) 序列s中所有元素之和
    for loop 在for循环中从左到右反转元素
    <,<=,>,>=,=,!= 比较两个序列,若真则返回true
    random.shuffle(s) 随意排列序列s中的元素

    有图看的更清楚点:

    3.下标运算符 []

    有列表mylist,则mylist[ index ] 中index为列表的下标,一般下标的范围是0到len(mylist)-1.   mylist[ index ]又称为下标变量。
    mylist[0], mylist[1] ……分别访问列表第0个元素,第一个元素……
    index还可以为负数:mylist[-1], mylist[-2]……分别访问列表倒数第一个元素,倒数第二个元素……(为负数时index最大为-1)
     

    4.列表截取[start:end]

    mylst[start:end] 截取范围是start到end-1,构成一个列表。
    >>>mylst= [0,1,2,3,4,5]
    >>>mylst[2,4]
    [2, 3]
    若start和end省略,则start默认为0,end默认为列表最后一个下标
    start和end也可以为负数,若负数为-n则换成是-n+len(mylist)即可
    >>>mylist[:3]
    [0, 1, 2]
    >>>mylist[2:]
    [2, 3, 4, 5]
    >>>mylist[:]
    [0, 1, 2, 3, 4, 5]
    >>>mylist[-4:-2]
    [2, 3]
    若start>end,则mylist返回一个空列表
    >>>mylist[3:2] 
    []
     

    5.列表解析

    列表解析由多个方括号组成,方括号内包含后跟一个for子句的表达式,之后是0或多个for或if子句。例如:
    >>>list1 = [x for x in range(5)]
    >>>list1
    [0, 1, 2, 3, 4]
    >>>list2 = [0.5*x for x in list1]
    >>>list2
    [0.0, 0.5, 1.0, 1.5, 2.0]
    >>>list3 = [x for x in list2 if x < 1.5]
    >>>list3
    [0.0, 0.5, 1.0]

    6.列表方法

    常用的list方法
    append(x: object) :None 将元素添加到列表结尾
    count(x: object): int 返回元素x在列表中出现的次数
    extend(lst: list): None 将列表 l 中的所有元素追加到列表中
    index(x: object): int 返回x在列表中第一次出现的下标
    insert(index: int, x:object):None 将元素x插入列表中指定下标处
    pop(i): object 删除给定位置的元素并返回它。参数 i 可选,若没有指定,则删除并返回列表中的最后一个元素
    remove(x: object):
    None
    删除列表中第一次出现的x
    reverse(): None 将列表中的所有元素倒序(不是排序)
    sort(): None 将列表中的元素升序排序(注意:是排序)
    以上代码如下:
    >>> list1 = [2, 3, 4, 1, 32, 4]
    >>> list1.append(19)
    >>> list1
    [2, 3, 4, 1, 32, 4, 19]
    >>> list1.count(4)
    2
    >>> list2 = [99, 54]
    >>> list2.extend(list1)
    >>> list2
    [99, 54, 2, 3, 4, 1, 32, 4, 19]
    >>> list2.index(4)
    4
    >>> list2.insert(1, 25) 
    >>> list2
    [99, 25, 54, 2, 3, 4, 1, 32, 4, 19]
    >>> list2.pop()      #删除最后一个位置的元素
    19
    >>> list2
    [99, 25, 54, 2, 3, 4, 1, 32, 4]
    >>> list2.pop(2)     #删除指定位置的元素,这里删除下标为2的元素
    54
    >>> list2
    [99, 25, 2, 3, 4, 1, 32, 4]
    >>> list2.remove(4)
    >>> list2
    [99, 25, 2, 3, 1, 32, 4]
    >>> list2.reverse()      #将原序列倒过来
    >>> list2
    [4, 32, 1, 3, 2, 25, 99]
    >>> list2.sort()         #将原序列升序排序
    >>> list2
    [1, 2, 3, 4, 25, 32, 99]
  • 相关阅读:
    js实现方块弹珠游戏
    学习servlet时出现的一些问题
    简述JAVA类的生命周期
    JAVA高级之路----JAVA多线程
    小计Tomcat的调优思路
    java生成pdf
    git分支在团队中的使用
    程序员修炼内功心法
    学会学习
    如何快速阅读
  • 原文地址:https://www.cnblogs.com/libra-yong/p/6250214.html
Copyright © 2011-2022 走看看