2022年 11月 5日

Python列表操作方法详解

这篇文章主要介绍了Python列表操作方法详解,需要的朋友可以参考下.

本节内容

  • 0、列表常用功能汇总
  • 1、定义列表
  • 2、访问列表中的元素
  • 3、切片
  • 4、追加
  • 5、插入
  • 6、修改
  • 7、拷贝
  • 8、删除
  • 9、扩展
  • 10、统计
  • 11、翻转
  • 12、排序
  • 13、获取下标值
  • 14、清空列表

列表是Python最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

0、列表常用功能汇总

image

1、定义列表

 | 

`>>> name``=``[]  ``#定义空列表`

`>>> name``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]  ``#定义一个非空列表`

 |
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2、访问列表中的元素

|

`>>> name``=``[]`

`>>> name``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]`

`>>> name[``0``]`

`'luoahong'`

`>>> name[``1``]`

`'chenqun'`

`>>> name[``2``]`

`'wenhai'`

`>>> name[``3``]`

`'daiqiao'`

`>>> name[``-``1``]  ``#倒着取最后一个值`

`'guiwei'`

`>>> name[``-``2``]`

`'xiedi'`
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

|

注:列表的下标值是从0开始取值的

3、切片

 | 

`>>> name``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]`

`>>> name[``1``:``3``]`

`[``'chenqun'``,` `'wenhai'``]`

`>>> name[``1``:``-``1``]`

`[``'chenqun'``,` `'wenhai'``,` `'daiqiao'``,` `'xiedi'``]`

`>>> name[``0``:``3``]`

`[``'luoahong'``,` `'chenqun'``,` `'wenhai'``]`

`>>> name[:``3``]`

`[``'luoahong'``,` `'chenqun'``,` `'wenhai'``]`

`>>> name[``3``:]`

`[``'daiqiao'``,` `'xiedi'``,` `'guiwei'``]`

`>>> name[:``2``]`

`[``'luoahong'``,` `'chenqun'``]`

`>>> name[::``2``]`

`[``'luoahong'``,` `'wenhai'``,` `'xiedi'``]`
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

|

切片小结:

①序列始终都是从左向右切片的,不能是从右向左

①列表切片时,起始位的元素是包括的,结束位的元素是不包括(又叫顾头不顾尾),最后一个位置表示步长(names[开始位:结束位:步长])

②如果从0位置取值,0可以省略

③想取最后一个值时,结束位不能是-1,因为结束位的元素不包括,所以只能留空

4、追加(append(元素))

 | 

`>>> name``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]`

`>>> name.append(``"liuhailin"``)`

`>>> name`

`[``'luoahong'``,` `'chenqun'``,` `'wenhai'``,` `'daiqiao'``,` `'xiedi'``,` `'guiwei'``,` `'liuhailin'``]  ``#liuhailin是新加的`

 |
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

5、插入(insert(下标值,插入的内容))

 | 

`>>> name``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]`

`>>> name.insert(``0``,``"liyang"``)  ``#0表示需要插入的下标值,'1'表示插入的内容`

`>>> name`

`[``'liyang'``,` `'luoahong'``,` `'chenqun'``,` `'wenhai'``,` `'daiqiao'``,` `'xiedi'``,` `'guiwei'``]   ``#在下标值为0的地方插入liyang`
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

|

6、修改

 | 

`>>> name``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]`

`>>> name[``1``]``=``'chenqundage'`

`>>> name`

`[``'luoahong'``,` `'chenqundage'``,` `'wenhai'``,` `'daiqiao'``,` `'xiedi'``,` `'guiwei'``]`

 |
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

注:修改列表中的元素,直接是 names[下标值] = 新值

7、拷贝(copy())

|

`>>> name``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]`

`>>> name2``=``name.copy()`

`>>> name2`

`[``'luoahong'``,` `'chenqun'``,` `'wenhai'``,` `'daiqiao'``,` `'xiedi'``,` `'guiwei'``]`

 |
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

注:这边的copy都是浅copy,只能copy第一层。

8、删除(del、remove(元素)、pop())

|

`#根据下标值删除元素<br>>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']`

`>>>` `del` `name[``0``]`

`>>> name`

`[``'chenqun'``,` `'wenhai'``,` `'daiqiao'``,` `'xiedi'``,` `'guiwei'``]<br>``#根据元素删除`

`>>> name``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]`

`>>> name.remove(``'xiedi'``)`

`>>> name`

`[``'luoahong'``,` `'chenqun'``,` `'wenhai'``,` `'daiqiao'``,` `'guiwei'``]<br>``#删除最后一个`

`>>> name``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]`

`>>> name.pop()`

`'guiwei'`

`>>>`

`>>> `

 |
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

注:

①如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的

 | 

`>>> name``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]`

`>>> name.pop(``1``)   ``#在输入下标值得情况下和del的效果是一样的<br>'chenqun'`

`>>> name`

`[``'luoahong'``,` `'wenhai'``,` `'daiqiao'``,` `'xiedi'``,` `'guiwei'``]`

 |
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

②del关键字不仅可以删除列表中的元素,也可以删除变量

|

`>>> name``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]<br>``#删除name这个变量<br> del name`

`>>> name`

`Traceback (most recent call last):`

`File` `"<stdin>"``, line` `1``,` `in` `<module>`

`NameError: name` `'name'` `is` `not` `defined`
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

|

注:

①如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的

②del关键字不仅可以删除列表中的元素,也可以删除变量

9、扩展(extend)

 | 

`>>> name1``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]`

`>>> name2``=``[``'1'``,``'2'``,``'3'``,``'4'``,``'5'``,``'6'``]`

`>>> name1.extend(name2)`

`>>> name1`

`[``'luoahong'``,` `'chenqun'``,` `'wenhai'``,` `'daiqiao'``,` `'xiedi'``,` `'guiwei'``,` `'1'``,` `'2'``,` `'3'``,` `'4'``,` `'5'``,` `'6'``]`

 |
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

注:names2的列表合并到names1中,但是,names2这个列表依然存在,如果想删除names2这个变量,则只需del names2即可

10、统计(count(元素))

| 

`>>> name1``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'chenqun'``,``'xiedi'``,``'guiwei'``,``'chenqun'``]`

`>>> name1.count(``'chenqun'``)  ``#统计元素'chenqun'元素的个数`

`3`

 |
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

11、翻转(reverse())

 | 

`>>> name``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]`

`>>> name.reverse()`

`>>> name`

`[``'guiwei'``,` `'xiedi'``,` `'daiqiao'``,` `'wenhai'``,` `'chenqun'``,` `'luoahong'``]   ``#将整个列表翻转过来`

 |
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

12、排序(sort())

 | 

`>>> name``=``[``'4'``,``'3'``,``'2'``,``'1'``]`

`>>> name.sort()`

`>>> name`

`[``'1'``,` `'2'``,` `'3'``,` `'4'``]`

 |
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

13、获取下标值(index(元素))

|

`>>> name``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]`

`>>> name.index(``'chenqun'``)`

`1`
  • 1
  • 2
  • 3
  • 4
  • 5

|

14、清空列表(clear())

|

`>>> name``=``[``'luoahong'``,``'chenqun'``,``'wenhai'``,``'daiqiao'``,``'xiedi'``,``'guiwei'``]`

`>>> name.clear()`

`NameError: name` `'names'` `is` `not` `defined`

`>>> name`

`[]`

 |
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11