IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Theory: Operations with list(理论:列表操作) -> 正文阅读

[数据结构与算法]Theory: Operations with list(理论:列表操作)

您已经知道如何创建列表(甚至是空列表),因此,您可能想以某种方式更改您的列表。列表有很多事情要做,您可以在Python 数据结构文档中阅读它们。在本主题中,我们将仅讨论基本操作。

添加一个元素

该列表是一个动态集合,这意味着您可以添加和删除元素。为了仔细观察,让我们创建一个空的龙列表。

dragons = []  # we do not have dragons yet

接下来是什么?首先想到的当然是向列表中添加新元素

要将新元素添加到现有列表的末尾,您需要使用该list.append(element)方法。它只需要一个参数,因此您一次只能将一个元素添加到列表中。

dragons.append('Rudror')
dragons.append('Targiss')
dragons.append('Coporth')

现在您有了三条龙,它们的顺序与您添加它们的方式相同:

print(dragons)  # ['Rudror', 'Targiss', 'Coporth']

添加几个元素

存在list.extend(another_list)将来自另一个可迭代对象的所有元素添加到列表末尾的操作。

numbers = [1, 2, 3, 4, 5]
numbers.extend([10, 20, 30])
print(numbers)  # [1, 2, 3, 4, 5, 10, 20, 30]

小心——如果你使用list.append(another_list)而不是list.extend(another_list),它会将整个列表添加为一个元素:

numbers = [1, 2, 3, 4, 5]
numbers.append([10, 20, 30])
print(numbers)  # [1, 2, 3, 4, 5, [10, 20, 30]]

或者,要合并两个列表,您可以将一个添加到另一个列表:

numbers_to_four = [0, 1, 2, 3, 4]
numbers_from_five = [5, 6, 7, 8, 9]
numbers = numbers_to_four + numbers_from_five 
print(numbers)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

如果您需要一个包含重复元素的列表,您可以使用重复模式创建一个列表,然后将其乘以任意数字。当您要创建具有相同值的特定长度的列表时,这特别有用:

pattern = ['a', 'b', 'c']
patterns = pattern * 3
print(patterns)  # ['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']

one = [1]
ones = one * 7
print(ones)  # [1, 1, 1, 1, 1, 1, 1]

移除元素

与添加元素的相反——删除它们——可以通过三种方式完成。让我们来看看它们。

首先,我们可以使用list.remove(element)操作。

dragons.remove('Targiss')
print(dragons)  # ['Rudror', 'Coporth']

如果我们要删除的元素在列表中出现多次,则仅删除该元素的第一个实例。

dragons = ['Rudror', 'Targiss', 'Coporth', 'Targiss']
dragons.remove('Targiss')
print(dragons)  # ['Rudror', 'Coporth', 'Targiss']

其他两种方法是通过索引而不是值本身来删除元素。关键字删除 Python 中的del任何类型的对象,因此可用于删除列表中的特定元素:

dragons = ['Rudror', 'Targiss', 'Coporth']
del dragons[1]
print(dragons)  # ['Rudror', 'Coporth']

最后,还有list.pop()方法。如果不带参数使用,它将删除并返回列表中的最后一个元素

dragons = ['Rudror', 'Targiss', 'Coporth']
last_dragon = dragons.pop()
print(last_dragon)  # 'Coporth'
print(dragons)      # ['Rudror', 'Targiss']

或者,我们可以指定要删除并返回的元素的索引:

dragons = ['Rudror', 'Targiss', 'Coporth']
first_dragon = dragons.pop(0)
print(first_dragon)  # 'Rudror'
print(dragons)       # ['Targiss', 'Coporth']

在指定位置插入元素

我们将学习如何把新元素添加到列表的末尾。如果我们想在中间添加一个新元素,我们使用list.insert(position, element)操作。第一个参数是要插入新元素的元素的索引;list.insert(0, element)将一个元素插入到列表的开头,list.insert(len(list), element)list.append(element)相同

这是一个例子:

years = [2016, 2018, 2019]
years.insert(1, 2017)           # [2016, 2017, 2018, 2019]
years.insert(0, 2015)           # [2015, 2016, 2017, 2018, 2019]
years.insert(len(years), 2020)  # [2015, 2016, 2017, 2018, 2019, 2020]

现在,您可以用有用的东西填充任何空列表!

列表中的成员资格测试

另一件非常有用的事情是检查列表中是否存在项目。它可以通过使用innot in运算符简单地完成:

catalog = ['yogurt', 'apples', 'oranges', 'bananas', 'milk', 'cheese']
 
print('bananas' in catalog)      # True
 
product = 'lemon'
print(product in catalog)        # False
print(product not in catalog)    # True

搜索特定元素

有时,只知道指定元素在列表中是不够的;我们可能想获得更多关于它的信息——元素在列表中出现了多少次以及在哪个位置。

该方法count()可以帮助获取存在的数量:

grades = [10, 5, 7, 9, 5, 10, 9]
print(grades.count(5))  # 2

我们可以使用该方法index()?来获取元素的位置。它查找列表中第一次出现?的元素的索引:

print(grades.index(7))   # 2
print(grades.index(10))  # 0

我们还可以指定搜索的间隔:list.index(element, start, end)

print(grades.index(9, 2, 5))  # 3

# if we don't specify the end of the interval, it automatically equals the end of the list
print(grades.index(10, 1))    # 5

注意——end索引不包含在区间中。

如果我们要查找的元素不在列表中,该方法将导致错误

print(grades.index(8))  # ValueError: 8 is not in list

我们对列表的基本操作的讨论已经结束。如果您需要更多信息,请查看Python 数据结构文档

概括

总而言之,在本主题中,我们学会了:

  • append()用;添加一个元素
  • extend()用;添加几个元素
  • remove()用;删除元素
  • insert()用;在指定位置插入一个元素
  • in使用and运算符检查元素是否在列表中not in
  • 用 ;计算一个元素在列表中出现的次数count()
  • 使用 获取列表中元素的位置index()

我们现在也知道,由于列表是动态集合,因此可以更改。无需不断创建新列表,这有利于程序的内存和性能。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-01-25 10:49:54  更:2022-01-25 10:51:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 19:49:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码