iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python列表的应用场景都有哪些呢
  • 114
分享到

Python列表的应用场景都有哪些呢

2023-06-15 16:06:55 114人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

python列表的应用场景都有哪些呢,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 今天来聊一聊列表在实际开发中的应用场景。在开发中,选用何种数据结构是由我们面对的数

python列表的应用场景都有哪些呢,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

 今天来聊一聊列表在实际开发中的应用场景。

在开发中,选用何种数据结构是由我们面对的数据特征和业务场景决定的。

数据是单个的还是批量的,是小规模的还是海量的?

数据是独立的还是彼此关联的?

数据的生成是随机的还是有先后顺序的?

数据的用途是什么?会不会频繁读写?只读多还是修改多?

数据是否应用于多线程环境?

......(此处省略 N 多情形。)

一旦确定了数据特征和业务场景,我们就可以从开发工具箱中选择合适的工具了。

对于 list 而言,首先它是一个对象集合,你可以在处理批量数据时使用 list。

>>> alist =[i for i inrange(21)] >>> alist [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] >>> alist.append(2021) >>> alist [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,2021]

我们知道,tuple 也可以用来存储多个对象,但是 tuple 是不可变的,一旦初始化,无法再增减其中的元素的个数。tuple  从语法上保证了元素数目不会被修改。

如果你恰好不希望别人向数据集中增删元素,你应该优先使用 tuple,而非list。反过来,如果你需要动态调整数据集合中的元素的个数,那就应该选择  list。

这是否意味着所有动态数据集都可以使用 list 呢?非也。

如果你的数据很少被修改,绝大部分时间都是被读取的,这很适合使用 list 来存储。因为 list  为我们提供了索引和切片操作,可以快速访问其中的元素。

>>> alist [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,2021] >>> alist[10] 10 >>> alist[3:9] [3,4,5,6,7,8] >>> alist[3:9:2] [3,5,7]

如果你仅仅使用 append() 在 list 尾部追加元素,或者删除 list 尾部元素,那也可以放心使用  list。因为,在列表末尾添加和删除元素非常快。

>>> stack =[3,4,5] >>> stack.append(6) >>> stack.append(7) >>> stack [3,4,5,6,7] >>> stack.pop() 7 >>> stack [3,4,5,6] >>> stack.pop() 6 >>> stack [3,4,5]

这种情形下,list 其实就用作栈(stack)了。

但是,如果你的程序需要频繁在 list 头部或中间插入或删除元素,list 就不太适合你的需求了。

因为,list  底层是通过变长数组实现的。在数组头部或中间插入或删除元素,需要逐个移动插入位置之后的每个元素。这在数据量大时会消耗大量时间,效率低下。

而在常见的业务场景中,频繁增删中间元素的操作多见于链式存储结构(如链表),在线性存储结构(如数组)中并不多见。

如果想在 Python 中使用链式结构,可以使用 collections.deque。严格来说,collections.deque  也不是一个完全的链式结构,它是一个带有块(block)数据的链式结构。每个 block 都是一个线性数组。

我们来看一个需要频繁在数据集的首尾执行操作的场景:队列(queue)。

队列是一个先进先出(FIFO)的数据结构,数据从尾部插入,从头部取出。就好像我们日常排队一样。

由于需要频繁删除头部元素,list 也不适合用作队列。很多初学者仅从list 这个单词的字面意思来理解,就把 list  作为队列来使用,这是欠妥的。

我们可以用 collections.deque 来实现队列操作。

>>>from collections import deque >>> queue = deque(["Eric","John","Michael"]) >>> queue.append("Terry") >>> queue.append("Graham") >>> queue deque(['Eric','John','Michael','Terry','Graham']) >>>  >>> queue.popleft() 'Eric' >>> queue.popleft() 'John' >>> queue deque(['Michael','Terry','Graham'])

list 适用于处理动态数据集,特别适合用于读操作远多于写操作的场景。

list 可用来实现栈操作。

List 不适合用作队列,可使用 collections.deque 来实现队列操作。

看完上述内容,你们掌握Python列表的应用场景都有哪些呢的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网Python频道,感谢各位的阅读!

--结束END--

本文标题: Python列表的应用场景都有哪些呢

本文链接: https://www.lsjlt.com/news/280818.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python列表的应用场景都有哪些呢
    Python列表的应用场景都有哪些呢,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 今天来聊一聊列表在实际开发中的应用场景。在开发中,选用何种数据结构是由我们面对的数...
    99+
    2023-06-15
  • Python列表切片应用场景有哪些
    Python列表切片可以应用于以下场景:1. 提取部分数据:可以使用切片操作从列表中提取部分数据,例如提取列表的前几个元素、提取列表...
    99+
    2023-09-27
    Python
  • Python列表切片的应用场景有哪些
    Python列表切片是一种非常方便和强大的操作,可以用于许多场景,下面列举了一些常见的应用场景:1. 提取子列表:可以使用切片操作来...
    99+
    2023-08-29
    Python
  • Redis的应用场景都有哪些
    Redis的应用场景都有哪些?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!Redis 有 8 大应用场景!之前讲过Redi...
    99+
    2024-04-02
  • Python的应用场景有哪些
    本篇内容主要讲解“Python的应用场景有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python的应用场景有哪些”吧!1、Python智能裁切图片生活中我们总是会遇到裁剪图片的问题,想要...
    99+
    2023-06-16
  • Python中的队列和栈的应用场景有哪些?
    Python中的队列和栈的应用场景有哪些?队列和栈是计算机科学中常用的数据结构,它们可以有效地解决许多实际问题。在Python中,我们可以使用内置的Queue和collections模块来实现队列和栈。接下来,本文将介绍队列和栈的定义、特性...
    99+
    2023-10-22
    网页爬虫 队列: 广度优先搜索(BFS) 计算机作业调度 栈:
  • linux工作列队的应用场景有哪些
    Linux工作列队(job queue)的应用场景有很多,包括但不限于以下几个方面:1. 作业调度:Linux工作列队可用于作业调度...
    99+
    2023-09-14
    linux
  • java延迟队列的应用场景有哪些
    任务调度:延迟队列可以用于创建定时任务调度,可以在指定的延迟时间后执行任务。 缓存失效:延迟队列可以用于处理缓存失效问题,例...
    99+
    2024-03-01
    java
  • RabbitMQ消息队列的应用场景有哪些
    RabbitMQ是一个高性能的开源消息中间件,它可以在分布式系统中传递和存储大量的消息。它的应用场景非常广泛,包括但不限于以下几个方...
    99+
    2023-09-20
    rabbitmq
  • redis的场景应用有哪些
    这篇文章主要介绍“redis的场景应用有哪些”,在日常操作中,相信很多人在redis的场景应用有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”redis的场景应用有哪些”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-04
  • clickhouse的应用场景有哪些
    ClickHouse 是一个用于实时数据分析的列式数据库管理系统,主要应用于以下场景: 实时数据分析:ClickHouse 可以...
    99+
    2024-03-01
    clickhouse
  • julia的应用场景有哪些
    Julia的应用场景非常广泛,以下是一些常见的应用场景:1. 科学计算:Julia是一种高性能的科学计算语言,可用于解决数值模拟、数...
    99+
    2023-09-21
    julia
  • ajax的应用场景有哪些
    1. 实时更新数据:Ajax可以使网页实时更新数据,而无需重新加载整个页面。例如,在社交媒体网站上,当有新的消息或评论时,页面可以自...
    99+
    2023-08-25
    ajax
  • Python中元组的应用场景有哪些
    元组是Python中的一种容器类型,其特点是不可变性,即创建后不能再进行修改。这使得元组在以下情况下特别适用:1. 用于存储不可变的...
    99+
    2023-09-06
    python
  • java lambda表达式的应用场景有哪些
    Java lambda表达式主要应用于以下场景:1. 函数式接口:Lambda表达式主要用于函数式接口,即只有一个抽象方法的接口。通...
    99+
    2023-09-23
    java
  • html5有哪些应用场景
    今天小编给大家分享一下html5有哪些应用场景的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2024-04-02
  • Redis有哪些应用场景
    这篇文章主要介绍了Redis有哪些应用场景,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Redis 有哪些应用场景缓存:这应该是 Redis...
    99+
    2024-04-02
  • 应用MongoDB的场景有哪些
    本篇内容主要讲解“应用MongoDB的场景有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“应用MongoDB的场景有哪些”吧!很多人比较关心 MongoDB...
    99+
    2024-04-02
  • Lua的应用场景有哪些
    Lua的应用场景非常广泛,主要包括: 游戏开发:Lua作为一种轻量级的脚本语言,广泛用于游戏开发中,如《魔兽世界》、《暗黑破坏神...
    99+
    2024-04-09
    Lua
  • leveldb的应用场景有哪些
    LevelDB是一个快速的键值存储系统,具有高性能和低延迟的特点,适用于许多应用场景。以下是一些常见的LevelDB的应用场景:1....
    99+
    2023-10-12
    leveldb
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作