zoukankan      html  css  js  c++  java
  • Python数据类型_列表

    列表(list)是一种有序的集合,可以随时添加、查找和删除元素。列表支持加入不同数据类型的元素:数字、字符串、列表、元组等。

     

    一、创建列表

    1、用中括号[]表示,元素间使用逗号分隔。

    list_a = [1, 2, 3]            list_b=[]     (空列表)

    2、用list()方法,转化生成列表。

    list_b = list("abc")            # list_b == ['a', 'b', 'c']    

    list_c = list((4, 5, 6))         # list_c == [4, 5, 6]

    3、列表生成式/列表解析式/列表推导式,生成列表。

    list_d = [i for i in list_a]

    list_h = list(range(3))

     

    二、列表添加

    stus.append('XX')                      #在列表的末尾增加一个元素

    stus.insert(0,'XX')                      #在指定位置添加一个元素

    stus.extend(['kk','cici'])             #在列表的末尾添加一个列表

     

    三、列表删除

    stus.pop(2)                                #删除指定位置的元素,取出该位置的元素值

    stus.remove('XX')                     #删除指定的元素

    del stus[3]                                 #删除指定位置的元素

    stus.clear()                                #清空整个list

     

    四、列表修改 

    stus[1]='老王'          #修改

     

    五、列表元素查找

    1、按照元素下标查找:

    print(stus[-1])                    #取值 下标为-1的时候,就取最后一个元素

    2、切片:【切片特点:顾头不顾尾】   

    stus[1:3]                           #取list下标为1至2的元素

    stus[:3]                             #如果开始的元素下标不写,则从第一个下标开始取

    stus[1:]                             #如果后面下标不写的话,则从开始下标取元素至最后

    stus[:]                               #取整个list的元素

    stus[0:11:2]                      #2代表步长,意味着每隔2各元素取一次

    stus[::-1]                          #步长是负数时,意味着从右往左开始取元素       (步长为负数时,下标取值顺序为从右往左)

     

    六、列表函数&方法

    stus.count('老王')                      #统计这个元素在list里面出现了几次

    stus.index('老王')                      #返回这个元素第一次出现的下标,如果这个元素在list里面不存在的话,会报错

    stus.reverse()                            #反转

    stus.extend(stus2)                    #把后面list里面的值,加入到第一个list里面

    stu3 = stus+stus2                    #合并两个list

    nums.sort(reverse=True)         #排序,默认是升序    reverse排序规则,reverse = True 降序, reverse = False 升序

    len(my)                                    #查看变量中元素的个数,长度

     注意:

    当列表使用了上述方法并赋值给某个变量时,输出的是None。 要对列表使用上述的方法,无需进行变量赋值操作,因为使用函数后,无返回值

     判断元素是否在列表中?      in:存在           not  in:不存在

     

    七、列表循环

    循环列表中的元素遍历访问:

    for stu in stus:

      print(stu)

    循环列表的下标遍历访问:

    for stu in len(stus):

      print(stus[stu])

     

    注:如果在遍历列表时,需要对列表中元素进行修改/删除操作,此时不应对循环的列表进行修改/删除操作,会漏掉部分元素

           可通过复制一个列表,循环新列表,再对原列表进行修改/删除操作

    eg:去除列表中的奇数,list = [1,1,2,3,4,5,6,7]

    for i in list:
    if i%2!=0:
    list.remove(i)
    print(list) ---------->1,2,4,6

    为什么还有1呢?
    第一次循环:list=[1,2,3,4,5,6,7]

    第二次循环:list[1]的值变为了2,跳过了1,所以print中有1

    不可以在for循环中修改列表

  • 相关阅读:
    js中的构造函数
    js中的匿名函数
    【bzoj4771】七彩树 树链的并+STL-set+DFS序+可持久化线段树
    【bzoj3881】[Coci2015]Divljak AC自动机+树链的并+DFS序+树状数组
    【loj6029】「雅礼集训 2017 Day1」市场 线段树+均摊分析
    【loj114】k大异或和 线性基+特判
    【bzoj5118】Fib数列2 费马小定理+矩阵乘法
    【bzoj5084】hashit 广义后缀自动机+树链的并+STL-set
    【bzoj5210】最大连通子块和 树链剖分+线段树+可删除堆维护树形动态dp
    【bzoj4712】洪水 树链剖分+线段树维护树形动态dp
  • 原文地址:https://www.cnblogs.com/URNOTBENBEN/p/10769513.html
Copyright © 2011-2022 走看看