zoukankan      html  css  js  c++  java
  • python 列表常用操作

    例子:

      list1 = [1, 2, 3, 4, 5, 6, [6, 7, 8,9], 'hi', 'hello', 6]

      list2 = [7, 8, 1, 2] 

      list3 = ['good', 'well', 'apple', 'bye']

      (1)在列表最后增加一个元素:“end”

      list1.append("end")

      (2)在制定位置上插入一个元素:“good”

      list1.insert(1, "good")

      注:第一个参数为列表的下标位置,第二个参数为要插入列表的元素。

      (1)通过元素内容,一次删除一个元素

      list1.remove("hi")

      (2)删除连续一段元素

      方法一: del list1[2:5]

      方法二:list1[2:5] = []

      (3)删除整个列表

      del list1

      (4)删除最后一个元素

      list1.pop()

      (5)通过下标删除一次删除一个元素

      list1.pop(1)

      注:pop方法中的1为下标

      (1)通过下标修改指定下标位置的元素

      list1[2] = 66

      (2) 列表反转

      list1.reverse()

      (3) 列表排序  

      list2.sort()

      list3.sort()

      注:

        python3.x中排序,仅数字或字符,不可混合。

        python2.x中排序,数字、字符或混合都可以。

      (4)列表合并

      方法一: list1.extend(list2)

      方法二: list1 += list2

      (5) 修改列表中全部相同元素

      for i in range(list1.count(6)):

        index_of_ele = list1.index(6)

        list1[index_of_ele] = 666666

      (1)查找列表中元素的下标(第一个满足条件的元素)

      list1.index(6)

      注:6为列表中的元素

      (2)统计列表中元素的个数

      list1.count(6)

      注:6为列表中的元素

      (3) 计算列表的总元素个数

      len(list1)

      (4)判断元素是否在列表中存在

      if 6 in list1:

        print("6 in list1")

    其他

      (1) 切片

       a)不写步长,默认为1

      list1 = [1, 2, 3, 4, 5, 6, [6, 7, 8,9], 'hi', 'hello', 6]

      list1[1:5]    #[2, 3, 4, 5],虎头蛇尾(下标从1到4)

      list1[:3]    #[1, 2, 3] 下标从0到2

      list1[8:]    #['hello', 6] 下标从8到最后

      b)指定步长

      list1[1:5:2]   #[2, 4]

      注:2表示步长为2

      c)list1[:i] + list1[i:] == list1

      d) list1 与 list1[:] 的列表内容相同,但他们是两个列表

      可以通过 id(list1) , id(list1[:]) 确认

     (2)拷贝

       a)浅拷贝

      方法一:

      list2 = list1.copy()

      方法二:

      import copy

      list2 = copy.copy(list1)

      方法三:

      list3 = list(list1)

      方法四:

      list4 = list1[:]

      b)深拷贝

      import copy

      list2 = copy.deepcopy(list1)

      注:浅拷贝与深拷贝区别

      浅拷贝:第一层为完全拷贝,即第一层各自独立,从第二层开始为引用拷贝,即数据共享。

      深拷贝:数据完成拷贝,数据完全独立,互不影响。

  • 相关阅读:
    201006120100630
    2010080120100901
    20101120至20101220
    201155学习总结
    PublishReport.rss
    windowservice创建及部署
    提示要角色管理工具安装Microsoft .NET Framework 3.5
    部署SSIS包
    ETL及SSIS
    IbatisNet
  • 原文地址:https://www.cnblogs.com/todayisafineday/p/5827989.html
Copyright © 2011-2022 走看看