Python编程学习笔记(2)--- 列表简介

news2024/11/26 2:36:32

1、列表是什么

列表由一系列按特定顺序排列的元素组成。可以创建包含字母表中所有字母、数字、0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。列表通常包含多个元素,因此给列表指定一个表示复数的名称。

在Python中,用方括号([])标识列表,并用逗号分隔其中的元素。

举一个简单是事例:

name = ["ada ","bdb","cbc"]
print(name)

这个列表我的理解就是,等同于c语言中的数组,只是换了个说法,其本质还是一个,一切编程语言的源头都是c,百变不离其中。

1.1 访问列表元素

列表是有序集合,因此要访问列表的任意元素,只需将该元素的位置(索引)告诉Python即可。

列如:

1.2 索引从0而不是1开始

在Python中,第一个列表元素的索引为0,而不是1.大多数编程语言是如此判定的,第二个列表元素的索引为1,以此类推,每一个列表的元素索引都是从0开始按顺序开始索引。

Python为访问的最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返回一个列表元素:

这种现象在C语言中我记得叫回流,这种语法很有用,因为你经常需要在不知道列表长度的情况下访问最后的元素。

1.3 使用列表中的各个值

可以像使用其他变量一样使用列表中的各个值。列如,可以使用f字符串根据列表中的值来创建消息。

1.4 修改、添加和删除元素

1.4.1 修改列表元素

修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。

1.4.2 在列表中添加元素

1、在列表末尾添加元素

在列表中添加新元素时,最简单的方式是将元素附加(append)到列表。给列表附加元素时,它将添加到列表末尾,继续使用前一个示例中的列表,在末尾添加新元素"jibanniubi":

2、在列表中插入元素

使用方法insert()可在列表的任何位置添加新元素。为此,需要指定新元素的索引和值。

1.4.2、从列表中删除元素

1、使用del语句删除元素

如果知道要删除的元素在列表中的位置,可使用del语句。

2、使用方式pop()删除元素

方法pop()删除列表末尾的元素,并让你能够接着使用它。术语弹出(pop)源自这样的类比:

列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。

3、弹出列表中任何位置处的元素

实际上,可以使用pop()来删除列表中任意位置的元素,只需在圆括号中指定要删除元素的索引即可。

4、根据值删除元素

有时候,并不知道要从列表中删除的值所处的位置,如果只知道要删除的元素的值,可使用方法remove()。

3 组织列表

在创建的列表中,元素的排列顺序常常是无法预测的,因为你并非总能控制用户提供数据的顺序,这虽然在大多数情况下是不可避免的,但你经常需要以特定的顺序呈现信息。

3.1 使用sort()对列表永久排序

python方法sort()让你能够较为轻松地对列表进行排序。假设你想让列表中的元素按照字母顺序排列,可以使用sort的方法直接进行。

使用了sort()方法进行列表元素排序,是永久性的修改列表元素,无法修改。

还可以按与字母顺序相反的顺序排列元素,只需向sort()传递参数,reverse = True即可。

3.2 使用sorted()对列表临时排序

要保留列表元素原本的排列顺序,同时以特定的顺序呈现他们,可使用函数sorted()。函数sorted()让你能够按特定顺序显示列表元素,同时不影响他们在列表中的原始排列顺序。

3.3倒序列表

要反转列表元素的排列顺序,可使用reverse()。

注意:反转的顺序并不是按照字母顺序,而是按照原本数组的顺序反转。

3.4 确定列表长度

使用len()函数可快速获取列表长度。

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

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

相关文章

python库(6):Pygments库

1 Pygments介绍 在软件开发和文档编写中,代码的可读性是至关重要的一环。无论是在博客文章、技术文档还是教程中,通过代码高亮可以使程序代码更加清晰和易于理解。而在Python世界中,Pygments库就是这样一个强大的工具,它能够将各…

1.2 如何让机器说人话?万字长文回顾自然语言处理(NLP)的前世今生 —— 《带你自学大语言模型》系列

本系列目录 《带你自学大语言模型》系列部分目录及计划,完整版目录见:带你自学大语言模型系列 —— 前言 第一部分 走进大语言模型(科普向) 第一章 走进大语言模型 1.1 从图灵机到GPT,人工智能经历了什么&#xff1…

Powershell 获取电脑保存的所有wifi密码

一. 知识点 netsh wlan show profiles 用于显示计算机上已保存的无线网络配置文件 Measure-Object 用于统计数量 [PSCustomObject]{ } 用于创建Powershell对象 [math]::Round 四舍五入 Write-Progress 显示进度条 二. 代码 只能获取中文Windows操作系统的wifi密码如果想获取…

【绿色版】Mysql下载、安装、配置与使用(保姆级教程)

大家都知道,Mysql安装版的卸载过程非常繁琐,而且卸载不干净会出现许多问题,很容易让大家陷入重装系统的窘境。基于此,博主今天给大家分享绿色版Mysql的安装、配置与使用。 目录 一、Mysql安装、配置与使用 1、下载解压 2、创建…

02STM32软件安装新建工程

STM32软件安装&新建工程 1.软件安装:1.1Keil5 MDK安装1.2安装器件支持包离线安装支持包在线安装支持包 1.3软件注册:1.4安装驱动STLINK驱动JLink驱动在此文件夹下USB转串口 2开发方式&新建工程步骤&架构个人心得 1.软件安装: 安…

stm32精密控制步进电机(基础篇)

众所周知,步进电机由于使用脉冲控制,会比直流电机的控制稍难一些,但开环控制时也更加稳定。 落到做项目的时候,目前来说我都会先考虑步进电机,再去考虑直流,无刷这样的电机。包括毕设时所用的机械臂也是用…

Linux开发讲课33---线程实现与线程控制步骤简析

线程概述 进程是系统中程序执行和资源分配的基本单位。 每个进程都拥有自己的数据段、代码段和堆栈段,这就造成了进程在进行切换等操作时都需要有比较负责的上下文切换等动作。为了进一步减少处理机的空转时间支持多处理器和减少上下文切换开销,进程在演…

Java基础-内部类与异常处理

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 一、Java 内部类 什么是内部类? 使用内部类的优点 访问局部变量的限制 内部类和继承 内部…

一位3D打印工程师繁忙的一天

早晨:准备与规划 7:00 AM - 起床与晨练 3D打印工程师早起进行晨练,如跑步或瑜伽,以保持身心健康。晨练后,享用一顿健康的早餐,为一天的繁忙工作做好准备。 8:00 AM - 检查邮件和项目进展 在开始工作前,先…

封装了一个仿照抖音效果的iOS评论弹窗

需求背景 开发一个类似抖音评论弹窗交互效果的弹窗,支持滑动消失, 滑动查看评论 效果如下图 思路 创建一个视图,该视图上面放置一个tableView, 该视图上添加一个滑动手势,同时设置代理,实现代理方法 (BOOL)gestur…

Zkeys三方登录模块支持QQ、支付宝登录

1,覆盖到根目录,并导入update.sql数据库文件到Zkeys数据库里 2. 后台系统权限管理,配置管理员权限-系统类别-找到云外科技,全部打勾 3,后台系统设置找到云外快捷登录模块填写相应的插件授权配置和登录权限配置&#x…

【python中级】图像从从笛卡尔坐标系转换为极坐标系

【python中级】图像从从笛卡尔坐标系转换为极坐标系 1.背景2.生成二维图3.极坐标转换1.背景 笛卡尔坐标系就是我们常说的直角坐标系。 笛卡尔坐标系,也称为直角坐标系,是由法国数学家和哲学家勒内笛卡尔(Ren Descartes)发明的一种二维或三维坐标系统。它使用两个或三个相互…

人工智能在病理切片虚拟染色及染色标准化领域的系统进展分析|文献速递·24-07-07

小罗碎碎念 本期文献主题:人工智能在病理切片虚拟染色及染色标准化领域的系统进展分析 这一期文献的速递,是有史以来数量最大的一次,足足有十一篇,本来打算分两期写,但是为了知识的系统性,我决定咬咬牙&…

texStudio使用(小白)

原先使用overleaf在线编译,可能eps格式的图片太大导致需要充钱,所以考虑本地安装 安装教程参考B站视频:B站Latex本地编译器安装:TexLive TextStudio 踩到坑: 1. 编译器位置要选择对 因为BibTex选成了Biber导致出现无…

minist数据集分类模型的训练

minist数据集训练 训练方法:利用pytorch来实现minist数据集的分类模型训练 训练模型如下图所示 模型代码: import torch from torch import nn from torch.nn import Flattenclass Net(nn.Module):def __init__(self):super().__init__()self.module …

文件管理下:文件函数的学习

前言 Hello,小伙伴们你们的作者君又来了,上次我们简单介绍了文件的坐拥并简单提到了数据的读取,和C语言的默认流的作用,今天我将继续带领大家探索文件的奥秘,大家准别好了吗? 在内容开始之前还是按照惯例&#xff0c…

**kwargs 字典解包传参的方式

字典解包传参 在Python中,****kwargs**是一种通过字典解包 (dictionary unpacking) 的方式进行参数传递的方式。它将一个字典的键值对解包并传递给函数的命名参数。 示例代码 kwargs实参: {name: "jordan", age: 18, score: [80, 85, 85]} get_info形…

下载linux的吐槽

本来这几天放假了,想下一个linux玩一玩 教程(我就是根据这个教程进行下载的,但是呢在进行修改BIOS 模式的 地方遇见了困难,也许是电脑修过的原因,我狂按F12 以及 FnF12都没有BIOS设置,只有一个让我选择用w…

前端扫盲:cookie、localStorage和sessionStorage

cookie、localStorage和sessionStorage都是存储数据的方式,他们之间有什么不同,各有什么应用场景,本文为您一一解答。 一、什么是cookie、localStorage和sessionStorage 1. Cookie是一种存储在用户计算机上的小型文本文件,由服务…

子数组按位与为k

注意这里的子数组是连续的非空的数组&#xff0c;我们要学会与处理就是求交集 class Solution { public:long long countSubarrays(vector<int>& nums, int k) {long long ans 0;for (int i 0; i < nums.size(); i) {int x nums[i];for (int j i - 1; j > …