Python列表详解


刷完这60个标准库模块,成为Python骨灰级玩家

索引和逆转

列表几乎是Python中使用频率最高的数据结构了,一般来说,只需用逗号分隔,并用方括号括起来,便是列表。

x = [1,2,3,4,5]

列表可通过[]来进行元素索引和更改,同时支持带有:的索引语句,例如

>>> x = [1,2,3,4,5]
>>> x[0]
1
>>> x[0] = 1
>>> x
[1, 2, 3, 4, 5]
>>> x[2:5]
[3, 4, 5]
>>> x[:5:2]
[1, 3, 5]

【reverse】方法可以实现列表内容的逆转

>>> x.reverse()
>>> x
[5, 4, 3, 2, 1]

如果只是想得到逆转后的列表,而不希望改变原始列表的顺序,那么可以通过:索引语句来实现。下面就来演示一下,但注意,x已经经过reverse了

>>> x
[5, 4, 3, 2, 1]
>>> x[::-1]
[1, 2, 3, 4, 5]
>>> x[::-2]
[1, 3, 5]

增删元素和查找元素

在Python中,列表中的内容可随意增减,与此相关的方法有append, extend, insert, pop, remove等,此外还有del可删除列表中特定的项。

其中,【append, extend, insert】用于增添元素,示例如下

>>> x = [1,2,3,4,5]
>>> x.append(8)
>>> print(x)
[1, 2, 3, 4, 5, 8]
>>> x.extend([2,3,4])
>>> print(x)
[1, 2, 3, 4, 5, 8, 2, 3, 4]
>>> x.insert(3,10)
>>> print(x)
[1, 2, 3, 10, 4, 5, 8, 2, 3, 4]

其中x.append将元素添加到x的末尾;x.extend将一个列表拼接在x的结尾;x.insert(index, obj)可将obj插入到x的第index位置处。

【pop, remove, del】可删除列表中特定的项, 示例如下

>>> x.pop(0)
1
>>> print(x)
[2, 3, 10, 4, 5, 8, 2, 3, 4]
>>> x.pop()
4
>>> print(x)
[2, 3, 10, 4, 5, 8, 2, 3]
>>> x.remove(2)
>>> print(x)
[3, 10, 4, 5, 8, 2, 3]
>>> print(x)
[10, 4, 5, 8, 2, 3]
>>> del x[0]
>>> print(x)
[10, 4, 5, 8, 2, 3]
>>> del x[2]
>>> print(x)
[10, 4, 8, 2, 3]

其中,x.pop(index)表示弹出在index位置处的元素,并返回。所以x.pop(0)弹出了第0个元素1。x.pop()默认index=-1,即弹出最后一个值,所以x.pop()弹出了最后一个值。

x.remove(obj)则删除x中的所有obj对象,所以x.remove(2)删除了x中所有2。

此外,还可以通过del直接删除对象。

x.remove(obj)可删除x中的所有obj对象,那么在删除之前一定会对obj定位,在python中,列表提供了index函数用于查找某个元素的首个位置

>>> x.index(8)
2
>>> x.append(8)
>>> x.index(8)
2

排序

对列表而言,另一个重要的任务就是排序,Python中提供了基础的排序函数sort,示例如下

>>> x.sort()
>>> print(x)
[2, 3, 4, 8, 8, 10]
>>> x.sort(reverse=True)
>>> print(x)
[10, 8, 8, 4, 3, 2]

其中,reverse表示逆向排序。此外,sort函数还有参数key,可以用指定排序函数

>>> x.sort(key=lambda x : (x-5)**2)
>>> x
[4, 3, 8, 8, 2, 10]

上例中 ,以 y = ( x − 5 ) 2 y=(x-5)^2 y=(x5)2为排序函数,将所有x中的元素带入函数后,再行比较,得到上面的排序结果。

相关推荐

  1. Python列表详解

    2024-03-17 05:18:03       35 阅读
  2. Python列表详解

    2024-03-17 05:18:03       20 阅读
  3. Python列表append()函数使用详解

    2024-03-17 05:18:03       32 阅读
  4. 详细解读python里的列表

    2024-03-17 05:18:03       34 阅读
  5. python--列表

    2024-03-17 05:18:03       13 阅读
  6. python列表

    2024-03-17 05:18:03       11 阅读
  7. python列表

    2024-03-17 05:18:03       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-17 05:18:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-17 05:18:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-17 05:18:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-17 05:18:03       18 阅读

热门阅读

  1. 【C语言】打印1-100之间所有3的倍数的数字

    2024-03-17 05:18:03       19 阅读
  2. 使用API删除Gitlab Pipeline

    2024-03-17 05:18:03       20 阅读
  3. CSS2DObject 形成3D模型二维屏幕平面label

    2024-03-17 05:18:03       17 阅读
  4. Hive Sql获取含有特殊字符key的json数据

    2024-03-17 05:18:03       21 阅读
  5. LeetCode 395. 至少有K个重复字符的最长子串

    2024-03-17 05:18:03       15 阅读
  6. 矩阵消元-MIT

    2024-03-17 05:18:03       17 阅读
  7. C语言每日一题—魔幻矩阵

    2024-03-17 05:18:03       16 阅读
  8. LeetCode 1876. 长度为三且各字符不同的子字符串

    2024-03-17 05:18:03       17 阅读