【python入门篇】列表简介及操作(2)

news2024/11/15 17:16:54

列表是什么?

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

一.环境配置

我这边python的环境是3.7.8版本的,官方下载路径如下:

1.python 3.7.8  

可直接进入官网下载安装:Download Python | Python.org

2.编译器选择的是spyder,可以通过pip接口进行安装:

 
pip install wheel
 
 
pip install PyQt5
 
 
pip install spyder

二.创建列表

1.在pyhton中,用方括号([])表示列表,并用逗号分隔其中的元素。

list1 = []

我们创建一个空的列表,并赋值给到了变量list1。

接下来我们往列表里面添加一些元素:

list1 = ['小明']

print(list1)

输出:

所以,如果让python将列表打印出来,python将打印列表的内部表示,包括方括号。

三、访问列表

我们可以使用下标索引访问列表中的某个元素(得到一个元素的值),也可以使用切片访问列表中的一组元素(得到是子列表)。

下标索引访问元组分为两大类,即正向索引反向索引,我们通过实例来了解一下。

1.正向索引和反向索引

list1 = ['小m','小h','小a','小k','小p']

print(list1[2])

print(list1[-2])

输出:

注意:列表索引从0开始,list1[0]表示列表的第一个元素。即list1[0]='小m'。

正向索引:即从第一个元素(0)开始索引

反向索引:即从倒数第一个元素(-1)开始索引

2.切片访问

使用切片访问列表的格式为 list1[strat : end : step] :

start :表示起始索引位置

end: 表示结束索引位置

step: 表示步长

我们来看实例了解一下:

list1 = ['小m','小h','小a','小k','小p']

print(list1[0:4:2])

print(list1[-1:-5:-2])

输出:

我们这边新建列表添加元素赋值给变量list1,list1[0:4:2],代表从0开始索引到4结束,步长为2,所以打印出来就是['小m', '小a'],反方向切片访问则更改为反向索引即可。

四、列表修改、添加、合并和删除元素

1.修改列表内部元素

当列表创建以后,如果想要对列表中的元素进行更改要怎么做呢?

list1 = ['小m','小h','小a','小k','小p']

list1[2] = '小b'

print(list1)

输出:

我们找到想要修改的元素位置信息,直接赋值新的元素即可。

2.列表添加元素

我们可以使用append()这个函数往列表里面添加新的元素:

list1 = ['小m','小h','小a','小k','小p']

list1.append('小c')

print(list1)

输出:

注意:append()函数添加的元素在列表的末尾而不是任意位置。

3.合并列表元素

如果我们想要合并两个不同的列表,使用+号就可以了

list1 = ['小m','小h','小a','小k','小p']

list2 = ['小q','小w']

print(list1+list2)

输出:

这样就完成了列表的合并了,那如果想要list2的内容在前面list1的内容在后面应该怎么做呢?

也很简单,将两个位置更改一下在运算就好了,如下:

4.删除列表元素

(1)删除单个列表元素:del

list1 = ['小m','小h','小a','小k','小p']

del list1[1]

print(list1)

输出:

找到想要删除的元素位置信息,在前面加入del来删除指定的元素。

(2)删除整个列表元素:还是它 del

list1 = ['小m','小h','小a','小k','小p']

del list1

print(list1)

输出:

list1列表已经被删除,无法输出打印。

五、列表操作内置方法

1.insert()方法用于将指定对象插入列表的指定位置

语法:

list1.insert(position, element)
position必需。数字,指定在哪个位置插入值。
element必需。元素,任何类型(字符串、数字、对象等)。

实例:

list1 = ['小m','小h','小a','小k','小p']

list1.insert(1,'小q')

print(list1)

输出:

我们前面在添加列表元素时候已经说了append()的用法,这边就不在重复,insert()方法可以在任意位置添加元素或者列表。

2.sort()方法用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数

语法:

list1.sort(reverse=True|False, key=myFunc)
reverse可选。reverse=True 将对列表进行降序排序。默认是 reverse=False。
key可选。指定排序标准的函数。

实例:

list1 = ['A','F','B','H','I']

list1.sort()

print(list1)

 输出:

对列表进行降序排序:

list1 = ['A','F','B','H','I']

list1.sort(reverse=True)

print(list1)

输出:

六、练习题

1.执行下图代码,输出是?

A、小m       B、小h     C、小黑     D、小a

2.执行下图代码,输出为?

A、['小m', '小h', '小l', '小a', '小k', '小p', '小q']

B、['小m', '小h', '小a','小l' , '小k', '小p', '小q']

C、['小a', '小h', '小m','小l', '小k', '小p', '小q']

D、['小m', '小h', '小l','小a', '小k', '小q', '小p']

七、总结

今天主要针对列表一些重要知识、常用的函数做了一些讲解,很多用不上的就没有说了,后续继续来学习元组以及字符串的使用,谢谢。

@Neng

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

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

相关文章

图片转RGB数组格式

0 Preface/Foreword 嵌入式开发中,想要在LCD屏幕中显示任意照片,该如何操作? 根据LCD的大小确定把照片进行缩放;比如LCD的规格为:360 RGB* 360, 原始照片的大小为:1000RGB*1000,那…

FlashAttention2原理解析以及面向AIGC的加速实践

FlashAttention-2提出后,便得到了大量关注。本文将具体讲述FlashAttention-2的前世今生,包括FlashAttention1&2的原理解析、加速效果比较以及面向AIGC的加速实践,在这里将相关内容与大家分享~ 引言 将 Transformers 扩展到更长…

文心一言 VS 讯飞星火 VS chatgpt (102)-- 算法导论9.3 8题

八、用go语言,设 X[1…n]和 Y[1…n]为两个数组,每个都包含n个有序的元素。请设计一个 O(lgn)时间的算法来找出数组 X和Y中所有 2n 个元素的中位数。 文心一言: 要在 O(lgn) 时间内找出两个有序数组 X 和 Y 中所有元素的中位数,可…

vue最新前端面试题系列(1-5)

前言: 欢迎浏览和关注本专栏《 前端就业宝典 》, 不管是扭螺丝还是造火箭, 多学点知识总没错。 这个专栏是扭螺丝之上要造火箭级别的知识,会给前端工作学习的小伙伴带来意想不到的帮助。 文章目录 1,Vue 常用的修饰符都有哪些?事件修饰符表单修饰符2,$route和 $router的…

企业年报API的应用:从金融投资到市场研究

引言 在数字化时代,企业年报不再仅仅是一份财务报告,它们变成了宝贵的信息资源,可用于各种商业应用。企业年报API已经改变了金融投资和市场研究的方式,使得从中获取数据变得更加高效和灵活。本文将深入探讨企业年报API的应用&…

创建线程的4种方法

目录 一.前言 1.关于进程调度 (1)为什么要调度? (2)调度的真正对象 (3)调度的资源 2.线程 (1).线程的写法 (2)线程创建的方法 1.继承Thread (1)使用继承Thread,重写run的方式来创建线程 (2)继承Thread,使用匿名内部类 2.实现Runnable (1)使用实现Runnable,重写run…

基于SSM的网上药品售卖系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

衷心 祝愿

达之云衷心祝愿您,中秋国庆双节快乐,阖家幸福!感谢您们一直以来对达之云的关注与支持。 双节来临之际,达之云发布全新产品——达之云CDP客户数据平台(Dazdata CDP),致力于为中小企业提供互联网营…

【VUE复习·6】监视属性watch:用途、两种写法、简写、应用时注意事项(重点)、深度监视(重点)

总览 1.监视属性是用来干什么的? 2.监视属性的两种写法 3.应用时注意事项 4.深度监视 一、监视属性是用来干什么的? 1.用途 监视一个值(可以是基本属性 data,或者是计算属性 computed)是否被改变。如果此值被改变&…

品牌奖项+个人奖项双丰收,极智嘉全面展现自身硬核实力

最近,中国物流与采购联合会发布了2022年度科学技术奖获奖名单。在这份名单中,极智嘉与国药物流、南京医药、九州通医药以及多所高校合作,成功研发并应用了“面向医药流通的大规模机器人集群系统关键技术”。这项研究赢得了科学技术进步奖的一…

SpringCloud + SpringGateway 解决Get请求传参为特殊字符导致400无法通过网关转发的问题

title: “SpringCloud SpringGateway 解决Get请求传参为特殊字符导致400无法通过网关转发的问题” createTime: 2021-11-24T10:27:5708:00 updateTime: 2021-11-24T10:27:5708:00 draft: false author: “Atomicyo” tags: [“tomcat”] categories: [“java”] description: …

Win10检测和配置使用千兆网

注:一般只有比较旧的电脑才会是百兆网卡(我的2019年笔记本dell灵越是百兆网卡瑞昱RTL810x/8139,离谱)。 查看硬件是否为千兆网卡 cmd内执行如下(100000000b100000kb100Mb,我这里显示的为百兆)…

如何在不失去理智的情况下调试 TensorFlow 训练程序

一、说明 关于tensorflow的调试,是一个难啃的骨头,除了要有耐力,还需要方法;本文假设您是一个很有耐力的开发者,为您提供一些方法;这些方法也许不容易驾驭,但是依然强调您只要有耐力&#xff0c…

Multisim14.0仿真(二十七)基于UC3842的反激式开关电源的设计及仿真

一、UC3842简介: UC3842为固定频率电流模式PWM控制器。它们是专门为OFF−线和直流到直流转换器应用与最小的外部组件。内部实现的电路包括用于精确占空比控制的修剪振荡器、温度补偿参考、高增益误差放大器、电流传感比较器和理想适合于驱动功率MOSFET的高电流温度极…

Unity中Shader的前向渲染路径ForwardRenderingPath

文章目录 前言一、前向渲染路径的特点二、渲染方式1、逐像素(效果最好)2、逐顶点(效果次之)3、SH球谐(效果最差) 三、Unity中对灯光设置 后,自动选择对应的渲染方式1、ForwardBase仅用于一个逐像素的平行灯,以及所有的逐顶点与SH2、ForwardAdd用于其他所…

pytorch入门篇

文章目录 张量张量的创建直接创建依据数值创建依概率分布创建张量 张量的操作张量的拼接与切分张量索引张量变换 线性回归模型 神经网络softmaxsoftmax实现自动求导transforms方法 迁移学习保存和加载模型 张量 张量(Tensors)类似于NumPy的ndarrays&…

不同管径地下管线的地质雷达响应特征分析

不同管径地下管线的地质雷达响应特征分析 前言 以混凝土管线为例,建立了不同管径的城市地下管线模型,进行二维地质雷达正演模拟,分析不同管径管线的地质雷达响应特征。 文章目录 不同管径地下管线的地质雷达响应特征分析前言1、管径50cm2、…

【项目开发 | C语言项目 | C语言课程管理系统】

本项目是一个简易的课程管理系统,为了帮助用户管理大学课程信息。用户可以进行课程的添加、删除、查看、搜索和修改等操作。适用于初学者学习c语言,也适用于高校学生课程设计,毕业设计参考。 一,开发环境需求 操作系统&#xff1…

DownloadWithEscaping/下载数据并且转义返回数据, DownloadWithCombine/下载数据并且组合数据 的使用

1. DownloadWithEscaping 下载数据并且转义返回数据 1.1 实现 struct PostDataModel:Identifiable, Codable {let userId: Intlet id: Intlet title: Stringlet body: String }/// ViewModel class DownloadWithEscapingViewModel: ObservableObject{Published var posts: [Po…

【LeetCode-中等题】654.最大二叉树

文章目录 题目方法一:递归 题目 方法一:递归 class Solution {int[] num null; public TreeNode constructMaximumBinaryTree(int[] nums) {num nums;return myTree(0,num.length-1);}public TreeNode myTree( int begin , int end){if(begin > end…