当前位置: 首页 > article >正文

【python】列表

在Python中,列表(list)是一种非常常见且强大的数据结构。列表是一个有序的集合,可以随时添加和删除其中的元素。

创建列表

你可以使用方括号[]来创建一个列表,列表中的元素用逗号(,)分隔。

# 创建一个包含一些整数的列表
numbers = [1, 2, 3, 4, 5]
 
# 创建一个包含字符串的列表
fruits = ["apple", "banana", "cherry"]
 
# 创建一个混合类型的列表
mixed = [1, "hello", 3.14, True]

访问列表元素

你可以通过索引来访问列表中的元素,索引从0开始,跟字符串的使用一样。

# 访问第一个元素
>>> numbers[0]
1

# 访问最后一个元素
>>> numbers[-1]
5

修改列表元素

你可以通过索引来修改列表中的元素。

# 修改第一个元素
>>> numbers[0] = 10

>>> numbers
[10, 2, 3, 4, 5]

# 修改最后一个元素
>>> numbers[-1] = 9

>>> numbers
[10, 2, 3, 4, 9]

添加元素到列表

你可以使用append()方法在列表末尾添加元素,或者使用insert()方法在指定位置插入元素。

# 在列表末尾添加元素8
>>> numbers.append(8)

>>> numbers
[10, 2, 3, 4, 9, 8]

# 在指定位置1插入元素7
>>> numbers.insert(1, 7)

>>> numbers
[10, 7, 2, 3, 4, 9, 8]

删除列表元素

你可以使用remove()方法删除指定值的第一个匹配项,或者使用pop()方法删除并返回指定索引处的元素(如果不指定索引,则默认删除并返回最后一个元素)。此外,你还可以使用del语句删除指定索引处的元素。

# 删除指定元素8
>>> numbers.remove(3)
>>> numbers
[10, 7, 2, 4, 9, 8]

# 删除并返回最后一个元素
>>> numbers.pop()
8
>>> numbers
[10, 7, 2, 4, 9]

# 使用del语句删除指定索引处的元素
>>> del numbers[1]
>>> numbers
[10, 2, 4, 9]

列表脚本操作符

列表对+*的操作符与字符串相似。+号用于组合列表,*号用于重复列表。

>>> [1, 2, 3] + [4, 5, 6]
[1, 2, 3, 4, 5, 6]

>>> [1, 2, 3] * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]

>>> 3 in [1, 2, 3]
True

列表的截取与拼接

Python的列表截取与字符串操作类似。

>>> numbers
[10, 2, 4, 9]

>>> numbers[:]
[10, 2, 4, 9]

# 输出从第二个元素开始后的所有元素
>>> numbers[1:]
[2, 4, 9]

# 输出从第二个元素到第4个元素之前的所有元素
>>> numbers[1:3]
[2, 4]

# 输出从第二个元素到最后一个元素之前的所有元素
>>> numbers[1:-1]
[2, 4]

列表还支持拼接操作:

>>> a = [1, 3, 5]

>>> a += [2, 4 ,6]

>>> a
[1, 3, 5, 2, 4, 6]

嵌套列表

使用嵌套列表即在列表里创建其它列表,例如:

>>> a = ["a", "b", "c"]

>>> n = [1, 2, 3]

>>> x = [a, n]

>>> x
[['a', 'b', 'c'], [1, 2, 3]]

>>> x[0]
['a', 'b', 'c']

>>> x[1][0]
1

列表的比较

列表比较需要引入operator模块的eq方法。

# 导入operator模块
>>> import operator

>>> a = [1, 2]

>>> b = [2, 3]

>>> c = [2, 3]

>>> operator.eq(a, b)
False

>>> operator.eq(b, c)
True

列表的遍历

你可以使用for循环来遍历列表中的元素。

# 遍历列表并打印每个元素
>>> for n in numbers:
...     print(n)
...
10
2
4
9

列表推导式

列表推导式是一种简洁的构建列表的方法。

# 创建一个包含0到9的平方的列表
>>> squares = [x**2 for x in range(10)]

>>> squares
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

列表的常用方法

list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

>>> numbers
[10, 2, 4, 9]

>>> numbers.extend([3, 4, 8])

>>> numbers
[10, 2, 4, 9, 3, 4, 8]

list.count(obj):统计某个元素在列表中出现的次数

>>> numbers.count(4)
2

list.index(obj):从列表中找出某个值第一个匹配项的索引位置

>>> numbers.index(4)
2

list.reverse():反向列表中元素

>>> numbers
[10, 2, 4, 9, 3, 4, 8]

>>> numbers.reverse()

>>> numbers
[8, 4, 3, 9, 4, 2, 10]

list.sort(key=None, reverse=False):对原列表进行排序

>>> numbers.sort()

>>> numbers
[2, 3, 4, 4, 8, 9, 10]

list.copy():复制列表

>>> numbers.copy()
[2, 3, 4, 4, 8, 9, 10]

list.clear():清空列表

>>> numbers.clear()

>>> numbers
[]

列表的常用函数

len(list):列表元素个数

>>> len(numbers)
4

max(list):返回列表元素最大值

>>> max(numbers)
10

min(list):返回列表元素最小值

>>> min(numbers)
2

list(seq):将元组转换为列表

>>> list(("a", "b", "c"))
['a', 'b', 'c']

http://www.kler.cn/a/420972.html

相关文章:

  • Ubuntu 安装Ansible ansible.cfg配置文件生成
  • 项目搭建:spring,springmvc,mybatis,maven
  • 【娱乐项目】基于cnchar库与JavaScript的汉字查询工具
  • MySql:理解数据库
  • protobuf安装
  • k8s 资源管理resourceQuota
  • 面对深度伪造:OWASP发布专业应对指南
  • Java Web 1HTML快速入门
  • 代码随想录-算法训练营day29(回溯算法05:非递减子序列,全排列,全排列2)
  • 【C++算法】28.前缀和_除自身以外数组的乘积
  • 【C++高级开发应用篇】探索C++20中的协程:异步编程的强大工具
  • GDPU Android移动应用 使用多媒体
  • 使用 Vite 快速搭建 Vue 2开发环境
  • 001-SpringBoot整合日志
  • 神经网络入门实战:(十一)池化层搭建,以及填充层的说明
  • 解读 77页2024 集团企业IT技术架构规划方案
  • k8s使用的nfs作为sc。
  • 传统客服中心和呼叫中心客服系统的区别
  • 时间序列模型在LSTM中的特征输入
  • AlmaLinux8.10安装samba实现与Windows文件共享
  • 获取联通光猫的管理员密码
  • 【AI日记】24.12.03 kaggle 比赛 Titanic-6
  • SVN客户端及语言包免费下载 无需积分
  • 计算机网络八股整理(四)
  • 【SpringBoot】SpringBoot优雅停机机制
  • Springboot(五十)SpringBoot3集成sentinel并连接sentinel-dashboard