每天学点Python之list

x33g5p2x  于2021-03-13 发布在 Python  
字(1.5k)|赞(0)|评价(0)|浏览(422)

Python中的列表对参数的类型没有要求,也就是说同一个列表可以包含多种不同类型的对象。

列表的创建

创建一个空的链表有两种方法:

  1. l = []
  2. l = list()

而创建一个包含元素的列表同样有两种方法,下面操作结果相同:

  1. l = ["a", "b", "c"]
  2. l = list("abc")

需要注意的是,list方法最多只能有一个参数,也就是说不能将元素依次当做参数传入。它只接受可迭代的对象作为其参数。

Python中对元素的编号也是从0开始的,比较方便的是Python支持便利地获取尾部的元素,如最后一个元素的编号可以用-1表示,可以理解为负数i会自动转化为length+i:

  1. >>> a=[1,2,3,4,5]
  2. >>> print(a[-1])
  3. 5

列表的截取

Python支持快速地获取连续的子列表操作list[a:b],截取a到b的部分作为新的列表。需要注意的是a的位置是包含的,而b位置的元素是不包含在内的。如果a省略,则从头开始,如果b省略,则一直包含到末尾:

  1. >>> a
  2. [1, 2, 3, 4, 5]
  3. >>> a[1:3]
  4. [2, 3]
  5. >>> a[:3]
  6. [1, 2, 3]
  7. >>> a[3:]
  8. [4, 5]
  9. >>> a[:-1]
  10. [1, 2, 3, 4]
  11. >>> a[2:1]
  12. []

列表项的增加

  • Python支持两个列表用+号操作表示将第二个列表中的元素加入第一个列表
  • list.append(x)表示将元素加入列表中。list.insert(n,x)表示在位置n处插入一个元素x
  • list.extend(iterable)将迭代器对象中的每个对象加入列表
  1. >>> a=[1,2,3]
  2. >>> a+[4,5]
  3. [1, 2, 3, 4, 5]
  4. >>> a.append("abc")
  5. >>> a
  6. [1, 2, 3, 'abc']
  7. >>> a.extend("abc")
  8. >>> a
  9. [1, 2, 3, 'abc', 'a', 'b', 'c']
  10. >>> a.insert(0,0)
  11. >>> a
  12. [0, 1, 2, 3, 'abc', 'a', 'b', 'c']

列表的查找

  • list.count(x):返回元素x的数目
  • list.index(x[,start,end]):返回元素x出现的下标,可以规定起始位置,如果有多个,只返回第一个的下标
  • in:判断元素是否在列表中
  1. >>> a=[1,2,3,2,1]
  2. >>> a.count(1)
  3. 2
  4. >>> a.index(1)
  5. 0
  6. >>> a.index(1,2)
  7. 4
  8. >>> 3 in a
  9. True

列表的删除

  • list.remove(x):删除一个元素,如果有多个,只删除第一个
  • list.pop([n]):默认删除最后一个元素,如果有参数,则删除倒数n+1的元素
  • del list[index]:删除一个元素
  1. >>> a
  2. [1, 2, 3, 2, 1]
  3. >>> a.remove(1)
  4. >>> a
  5. [2, 3, 2, 1]
  6. >>> a.pop(1)
  7. 3
  8. >>> a
  9. [2, 2, 1]
  10. >>> del a[2]
  11. >>> a
  12. [2, 2]

相关文章