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)

  注:浅拷贝与深拷贝区别

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

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

原文地址:https://www.cnblogs.com/todayisafineday/p/5827989.html