Python列表中你所不知道的事

news2025/1/17 21:49:11

1. 引言

目前,Python是世界上使用最广泛、最受欢迎的编程语言之一。Python丰富的功能性使它非常流行,因为我们可以使用它创建任何内容。我将在本博客中与大家分享关于Python列表的几条有趣的花絮。
闲话少说,我们直接开始吧!

2. 列表用作栈

在列表中,我们可以使用函数pop来实现栈的功能,我们知道栈的特点为先进后出,我们来看个例子如下:
在这里插入图片描述

3. 列表用作队列

在列表中,我们可以通过向函数pop传递参数0来实现队列的功能,我们知道队列的特点为先进先出,我们来看个例子如下:
在这里插入图片描述

4. 列表用作双端队列

在列表中,我们可以使用函数popinsert来实现双端队列的功能,双端队列的特点为一个队列的队尾同时也是队首;两头都可以做出队,入队的操作。举例如下:
在这里插入图片描述

5. 列表的多样排序

使用函数sort对列表的基本排序功能如下:
在这里插入图片描述
通过参数我们也可以控制列表进行降序操作,样例如下:
在这里插入图片描述
当然我们也可以对包含复杂元素的列表进行相应的排序操作,样例如下:
在这里插入图片描述

6. 列表的切片操作

通常,我们使用array[x:y]进行切片操作,这通常可以为我们提供从array[x]array[y-1]的值。但是,很少有人知道我们可以使用array[x:y:z]为我们提供从array[x]array[y-1]的值,间隔为z

举例如下:
在这里插入图片描述

7. 多种方式遍历数组

有以下三种方法可以遍历数组:

  • 从前向后索引:其中a[0]为数组中的第一个元素,a[1] 为数组中第二个元素,依此类推。

  • 从后向前索引:这里, a[-1]为数组的最后一个元素,a[-2]为数组的第二个最后元素,依此类推。数学上,[-i]相当于[n-i]

  • 使用~进行索引:此时,a[~1]表示最后第二个元素,a[~2]表示最后第三个元素,依此类推。数学上,[~i]等价于[n-i-1]。就我个人而言,在编写代码时,我发现[~i]比写[n-1-i]要好得多。

样例如下:
在这里插入图片描述

8. 总结

本文重点介绍了Python列表中一些不常见的操作,很多操作往往觉得很难实现也许时因为我们不熟悉某些特殊的技巧,本文相应的技巧都给出了相应的代码示例,希望大家可以学以致用。

您学废了吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/197889.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何高薪入职心仪的公司

序 本文首发自:稀土掘金、思否 我们从几个问题开始入手,来看一下本博客是否适合你: 如果你想要换工作,但是:制作的简历平平无奇如果你想要换工作,但是:投放了的简历总是无法得到 [心仪公司] 的…

SpringBoot+Vue茶叶商城系统

简介:本项目采用了基本的SpringBootVue设计的茶叶商城系统。详情请看主要截图。经测试,本项目正常运行。本项目适用于Java毕业设计、课程设计学习参考等用途。 项目描述 项目名称SpringBootVue茶叶商城系统源码作者LHL项目类型Java EE项目 (…

C#windows彩票信息管理

摘要:近年来,中国彩票行业已经进入市场急速扩张和加速上升的阶段,即开票占整个彩票销量的比率也将急剧上扬。自助售彩终端,这一崭新的售彩模式已被中国彩民接受,爆发点很快来临。到2020年,我国多功能彩票自…

百趣代谢组学文献分享:OnPLS方法在哮喘领域应用研究

百趣代谢组学文献分享,本周分享的文献题目为OnPLS-Based Multi-Block Data Integration: A Multivariate Approach to Interrogating Biological Interactions in Asthma,是由日本前桥群马大学创新研究中心Craig E. Wheelock教授课题组在2018年发表于Ana…

商业智能 BI 人员的六个Level,你到了哪一层?

现在商业智能 BI 行业的从业人员越来越多,但很多人对于自己的职业规划可能并不是特别的清晰,不知道在这个细分领域到底有多大的成长空间,未来大概可以走到哪一个层次。 今天大概介绍下这六个层次,可以是大多数从事商业智能 BI 工…

【计算机程序设计思想与方法】1 什么是计算?

计算是利用计算机解决问题的过程,计算机科学是关于计算的学问。 计算机科学家在用 计算机解决问题时形成了特有的思维方式和解决方法,即计算思维。 1.1 什么是计算? 1.1.1 计算机与计算 计算机是当代最伟大的发明之一。 自从人类制造出第一台电子数字计算机,迄今已近 …

面试题-Java集合常见问题

1 常见集合集合相关类和接口都在java.util中,主要分为三中List(列表)、Map(映射)和Set(集合)其中Collection是集合List、Set的父接口,它主要有两个子接口:List:存储的元素有序,可重复。ArrayList基于数组实现LinkedLis…

STM32开发(二)CubeMX详解构建基本框架

文章目录STM32 CubeMX背景STM32 CubeMX基本配置选择芯片型号新建工程配置系统时钟、调试口、GPIO配置时钟配置配置GPIO (LED为例)GENERATE CODE 生成代码使用工具:CubeMX STM32 CubeMX背景 玩过STM32单片机的朋友都知道,以前的时…

网络协议栈简单设计(udp)

网络协议栈简单设计 操作系统内核中实现了网络协议栈,但今天利用netmap(也可利用dpdk)绕过内核协议栈进行网络数据的收发 netmap 内核协议栈加载数据: 数据从网卡到内核再到内存,需要经过两次拷贝 netmap映射数据&…

List底层源码剖析之List扩容机制

在list集合中有一个add方法: 在众多类中,最长使用的是ArrayList,其中有个方法是add方法 在add方法底层存在 private int size; ensureCapacityInternal(size 1) 其中的size1会对add()方法的调用次数进计数&#x…

Docker系列(常用命令) 02

Docker常用命令总结 docker官方命令文档 一、Docker环境信息命令 docker version # 查看docker版本信息 docker info # 查看docker详细信息二、系统日志信息常用命令 2.1 docker events 作用:从服务器获取实时事件,比如:启动、关闭和创…

九龙证券|美国散户疯狂抄底,嗅到了什么?华尔街最新警告

当地时间周五,美股三大指数低开后经历“过山车”行情,虽然盘中一度转涨,但午后再度回落。截至收盘,道指跌0.38%,报收33926.01点;纳指跌1.59%,收于12006.95点;标普500指数跌1.04%&…

九龙证券|全市场注册制下 多层次资本市场定位更清晰

全商场施行注册制的启动,让多层次本钱商场各个板块之间的定位愈加明晰。沪深交易所主板将杰出大盘蓝筹定位,各个板块互联互通也在逐渐加强。 分析人士认为,全面施行股票发行注册制是一场触动本钱商场全局的革新。注册制在全商场推广后&#x…

解读测试能力素质模型

软件测试的能力素质模型(Job Model),是对不同层级测试工程的能力要求进行明确的定义。目的是为了对每位工程师的能力进行科学的评估,然后分配合理的工作,也帮助大家明确职业规划的方向。 淘宝测试工程师的最常用的有4个,分别是&am…

uniapp(一)

一、初识微信小程序1、什么是微信小程序微信小程序简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用小程序是一种新的开放能力,开发…

【Redis学习笔记】主从复制

读写分离,性能扩展;快速容灾恢复 一主两从 准备一台服务器,启动不同的redis端口,6379、6380、6381 连接redis-cli redis-cli查看主从信息 info replication主机6379 从机6380、6381 设置从机 config set masterauth password -…

【青训营】架构初探

单机架构 单机架构是把所有功能都实现在一个进程里,并且部署在一台机器上。优点是简单,但是缺点在于其能够承载的带宽有限,而且进行运行维护必须关停服务器。模块之间相互影响, 单体架构 单体架构和单机架构最大的不同是单体架构…

【JavaEE】认识Tomcat

✨哈喽,大家好,我是辰柒!✨ 🛰️🛰️系列专栏:【JavaEE】 ✈️✈️本篇内容:如何构造 HTTP 请求同时认识HTTPS! 🚀🚀代码存放仓库github:JavaEE代码! ⛵⛵作者…

排序模型进阶-WideDeepWDL模型导出

8.5 排序模型进阶-Wide&Deep 学习目标 目标 无应用 无 8.5.1 wide&deep Wide部分的输入特征: raw input features and transformed featuresnotice: W&D这里的cross-product transformation:只在离散特征之间做组合,不管是文本…

《从0开始学大数据》之构建一个大数据平台

在分布式系统中分发执行代码并启动执行,这样的计算方式必然不会很快,即使在一个规模不太大的数据集上进行一次简单计算,MapReduce 也可能需要几分钟,Spark 快一点,也至少需要数秒的时间。而互联网产品处理用户请求&…