python教程 列表list操作

article/2025/5/11 1:54:27

python的列表

  • 一、常用操作
    • 1、创建列表
    • 2、索引操作
  • 二、列表的增删改查
    • 1、增加

一、常用操作

1、创建列表

list1 = [] #创建一个空列表

list2 = [1, 2, 3, 4, 5, -1] #创建一个数字型列表

list3 = [“a”, “q”, “w”, “s”, “d”, “f”, “e”] #创建一个字符型列表

list4 = [“how”, “are”, “you”, “I am”, “find”, “Thank”, “you”] #创建一个字符串型列表

list5 = [1, “a”, “hello”, “?”, list1, list4] #创建一个混合数据类型列表,列表元素可以是任意类型,包括列表类型

这几种创建列表的方式都是正确的,即列表中元素的数据类型不一定要相同。
在这里插入图片描述

2、索引操作

value = list3[3] #依据索引查找元素的值,序列的索引从0开始,因此[3]实际上是第四个值,value等于s

list4[2] = “you ?” #将列表list4中索引位2(第三个元素)的值修改为“you ?”

二、列表的增删改查

1、增加

列表本身有一个append()方法来增进元素,使用append()方法时会在列表的最后增加一个值

listnum = [1, 2, 3]

listnum.append(4)

listnum这个列表中就变成四个元素了,例如:
在这里插入图片描述
2、删除
删除列表中的元素有几种不同的方法

del命令

del命令可以删除列表中的某一个元素或者整个列表

del listnum[2] #删除列表中索引为2的元素

del listnum #删除整个列表

pop命令

pop命令删除列表中的最后一个元素并返回列表中的值

listnum = [1, 2, 3, 4]

value = listnum.pop() #最后一个元素将被删除,并返回删除的元素的值4。

remove命令

删除列表中第一个匹配的值

listnum = [1, 2, 3, 4, 2]

listnum.remove(2) #第一个2将被删除,列表成为了[1, 3, 4, 2]

3、改
重新赋值

listnum = [1, 2, 3]

listnum = [“aaa”, “bbb”, “ddd”] #给列表重新赋值

修改元素

可以通过索引来单独修改列表中某个元素的值

listnum[2] = 4 #列表中索引为2的元素的值将被修改为4

4、查
通过索引来找值

value = listnum[2] #查找索引为2的元素的值,索引号放在方括号里。

通过值来找索引

index_num = listnum.index(3) #通过索引自带的index()方法招到匹配的第一个元素的索引

判断是否存在某个值

listnum = [1, 2, 3]

3 in listnum #判断列表listnum中是否有3这个值,如果有返回True, 如果没有返回False

result = 3 in listnum #将判断结果返回给一个值
在这里插入图片描述
三、列表的切片操作
切片就是提取序列的一部分,切片通过索引来实现。

1、通过索引切片
通过索引切片,也就是按照从0到1、2、3直到n-1的索引进行切片,例如:

listname = [“I”, “am”, “a”, “Pupil”, “.”]

截取索引2和索引3的元素:

list34 = listname[2:4]

注:通过索引进行切片时,切片中的第一个索引代表切片后开始的第一个索引,最后一个索引代表切片后剩余元素开始的第一个索引,即切取的片段不包含最后一个索引的元素,查看效果:
在这里插入图片描述
切片的长度等于前后索引的相减。

如果后面的索引越界(超过列表的最大索引),则截取从切片开始向后的所有元素:
在这里插入图片描述
2、通过带负值的索引切片
我们知道列表中的元素不仅可以从前向后按照0、1、2、3…n-1的方式设置索引,也可以按照从后向前的顺序按照-1, -2, -3…-n的方式设置索引,因此,列表中切片的索引也可以包含负值,只需要第二个索引所代表的元素位于第一个索引代表的元素的后面即可,例如:
在这里插入图片描述
3、通过步长切片
切片不仅可以切取连续的序列,也可以每隔几个元素切取一个元素,这个间隔的数字就是步长。在使用步长切片时步长的长度值写到最后即可,例如listname[0:9:2],查看示例:
在这里插入图片描述
即使你将切片的结束元素写成列表的结束元素,依然不会切取列表的最后一个元素,此时我们可以将切片结束元素(切片的第二个值)的索引设置为空,或者写上大于切片长度的值即可。如listname[1::2]或listname[1:20:2]

4、从后向前(从右向左)切片
不设定步长是不可能从右向左切片的,如果将步长设置为负值,则可以实现从右向左的切片
在这里插入图片描述
总结:步长为正数,从左向右且,步长为负数,从右向左切

四、列表的加减乘运算
1、列表的加法
列表的加法非常简单,只需要将列表前后相连组成一个新列表即可

list1 = [1, 2, 3]

list2 = [a, b, c]

listnew = list1 + list2 #listnew的值是[1, 2, 3, a, b, c]

2、列表的减法
列表之间实际上是能够做减法的,只是这种减法需要用到集合的知识,如果你还不了解集合,先看一下集合的基本概念吧

[i for i in list1 if i not in list2]

https://www.cnblogs.com/python-selenium/p/3909175.html 列表的减法

3、列表的乘法
列表的乘法非常简单,只需要让列表乘以某个数字,列表就会重复很多次

listHello = [“hello”, “你好”]

listH3 = listHello * 3 #listHello 的值就是[“hello”, “你好”, “hello”, “你好”, “hello”, “你好”]

二、高级用法
1、嵌套列表
列表中的元素可以是任何合法的数据类型,当然元素的类型也可以是列表,也就是嵌套列表,嵌套列表在人工智能的计算中使用较多,熟练掌握后也非常简单。例如:

mat = [[2, 3, 4, 5], [6, 7]] #这个列表中包含两个元素,每个元素又是一个列表

实际上更常用的方式是永列表定义列表,例如这样:

a = [2, 3, 4, 5]

b = [6, 7]

mat = [a, b] #这实际上定义了一个两行四列的矩阵,其中第二行的第三列和第四列的值为none,也就是没有、不存在的意思。

好,学完了列表,咱们来看一下python的元组操作
欢迎收看:如何自学人工智能


http://chatgpt.dhexx.cn/article/ereh5JIP.shtml

相关文章

Python列表操作详解

目录 前言: 1、列表的创建与删除 1.1 创建有两种方式 1.2 列表特点: 2、列表的查询操作 2.1 给元素查索引 2.2 给索引查元素 2.3 获取列表中多个元素 2.4 使用循环遍历列表 3、列表元素的增,删,改 3.1 增添元素&…

Python中列表的常用操作

1、列表的格式:变量A的类型为列表 namesList [xiaoWang,xiaoZhang,xiaoHua] 比C语言的数组强大的地方在于列表中的元素可以是不同类型的 比如:testList [1, a] 2、打印出列表的数据 一、列表的循环遍历 1、for循环遍历 2、while循环遍历 二、列表的添…

找出数组中其中最大的数及其下标

1、在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。 代码如下: public static void main(String[] args) {int[] a new int[]{18,25,7,36,13,2,89,63};int x 0; //局部变量需要初始化int max a[0];//假设a[0…

海量数据处理 大量数据中找出最大的前10个数 (Top K 问题)

在工作中我们常遇到此类问题,从一个大量甚至海量的数据中取出前几个大的数。必须在海量的文章中取出点击量最大的10篇文章。 此类问题其实就是Top K问题。 给定一个数据(数据量海量 N),想找到前 K 个最大的或最小的元素。 eg&…

利用指针找最大值

利用指针找数组中最大的值 实现的方法很简单&#xff0c;输入完了以后在进行循环判断&#xff0c;遍历数组在使用一个值专门来记数组最大值的下标就可以了&#xff0c; #include <stdio.h> #include <Windows.h>#define MAX 10 int main(void) {int w 0, a[MAX]…

编写一个Java应用程序,产生20个50-100之内的整数,并输出这20个数并找出最大数及最小数输出

思路&#xff1a; 首先调用random()方法产生随机数&#xff0c;用数组存储&#xff0c;然后用两个for循环求出其中的最大值和最小值&#xff0c;最后打印输出这两个最值。 代码实现&#xff1a; public class Test {public static void main(String args[]){int a[] new int…

编写一个Java应用程序,产生20个50-100之内的整数,并输出这20个数并找出最大数及最小数输出。

编写一个Java应用程序&#xff0c;产生20个50-100之内的整数&#xff0c;并输出这20个数并找出最大数及最小数输出。 (1)思路 定义一个start变量和end变量表示范围的起点和终点&#xff0c;分别赋值为50和100&#xff0c;利用random.nextInt&#xff08;end-start1&#xff0…

分别用函数和带参的宏,从3个数中找出最大数

分别用函数和带参的宏&#xff0c;从3个数中找出最大数 区分好函数和宏的区别&#xff0c;其各自不同的编写格式。 用函数实现如下&#xff1a; #include<stdio.h> int main() {int max(int a,int b);int a,b,c,m;printf("输入三个整数&#xff1a;\n");sca…

任意输入10个数,找出最大数和最小数。

任意输入10个数,找出最大数和最小数。 #include <stdio.h> int main () {int i,max,min;printf("输入数字:");scanf("%d\n",&max);//先输入一个数字当作最大值for(i1;i<9;i)//10-19&#xff0c;循环9次之后得到结果{scanf("%d",&a…

图解|查找数组中最大值的5种方法!

作者 | 王磊 来源 | Java中文社群&#xff08;ID&#xff1a;javacn666&#xff09; 转载请联系授权&#xff08;微信ID&#xff1a;GG_Stone&#xff09; 我们在一些特定场景下&#xff0c;例如查询公司员工的最高薪资&#xff0c;以及班级的最高成绩又或者是面试中都会遇到查…

4-封装axios

源码github连接&#xff1a;baojinghui/MyAxios (github.com) 1&#xff0c;为什么要封装axios &#xff0c;因为当一个库不维护时&#xff0c;便于在封装的地方把不维护的库替换掉 2&#xff0c;因为axios返回的是一个实例对象&#xff0c;所以只能这一个实例上修改。但是我…

详解axios(快速入门)

axios这一篇就够啦~ axios1、axios的理解和使用1.1 axios概述1.2 axios特点1.3 axios常用语法1.4 难点语法的理解和使用 2、axios源码分析2.1 源码目录结构2.2 源码分析 axios 1、axios的理解和使用 1.1 axios概述 前端最流行的ajax请求库 react/vue官方都推荐使用axios 发a…

axios快速上手(简单使用)

axios对ajax请求进行了封装&#xff0c;并且使用promise的链式调用使得网络请求的代码逻辑更为清晰&#xff0c;同时支持async和await的编写方式使代码看起来像同步&#xff0c;更加方便于理解和阅读。axios这个库的体积也不大&#xff0c;先在项目里进行安装&#xff0c;npm i…

numpy的使用说明(六):一招帮你彻底搞懂axis=0和axis=1

1、关于axis轴的说明 思考&#xff1a;给你一个三维数组&#xff0c;你知道如何设置axis轴的值吗&#xff1f;下面这张图展示的结果你知道怎么来的吗&#xff1f;这些疑问都会在文中给你一一解答。 2、什么是维度&#xff1f; 举例说明 3、什么是高维&#xff0c;什么是低维…

axios(1)

json-server的介绍与服务搭建 作用 快速创建一个接口&#xff0c;以供Ajax请求 安装及使用 第三步&#xff08;注意路径以及在运行代码前加上npx&#xff09; axios的介绍与页面配置 在项目中 1.$ npm install axios 2.$ yarn add axios 学习阶段使用CDN方式 <scrip…

一文读懂Numpy(Tensorflow)里面的轴(Axis)

目录以及结论 Axis就是数组层级设axisi&#xff0c;则Numpy沿着第i个下标变化的方向进行操作Axis的应用 Axis就是数组层级 要想理解axis&#xff0c;首先我们先要弄清楚“Numpy中数组的维数”和"线性代数中矩阵的维数"这两个概念以及它们之间的关系。在数学或者物…

axios基础(一)

1.封装 最简单的封装&#xff08;这个了解下就行&#xff0c;主要看下下面&#xff09; <button onclick"testPost()">发送POST请求</button><script>function testGet(){axios({url:"https://api.hh2022.cn/main/searchPage/2023/1/5"…

Axios的简单学习(一文上手Axios!)

页内目录 一&#xff0c;Axios的介绍 二&#xff0c;Axios的配置 三&#xff0c;Axios的基本格式 四&#xff0c;使用Axios获取数据 一&#xff0c;Axios的介绍 官方介绍 Axios 是一个基于 promise 的 HTTP 库&#xff0c;可以用在浏览器和 node.js 中&#xff0c;在Vue中官方…

手撕numpy(五):一招帮你彻底搞懂axis=0和axis=1

↑ 关注 星标 ~ 有趣的不像个技术号 每晚九点&#xff0c;我们准时相约 大家好&#xff0c;我是黄同学 手撕numpy系列持续更新中~ 《手撕numpy(一)&#xff1a;简单说明和创建数组的不同方式》 《手撕numpy(二)&#xff1a;各种特性和简单操作》 《手撕numpy(三)&#xff1a…

Tesorflow学习axis=1

Tesorflow学习axis1 cnp.concatenate(a,b,axis0) axiso 跨行 import numpy as np anp.array([[1,2,3],[4,5,6]]) print(a,a) bnp.array([[7,8,9],[10,11,12]]) print(b,b) cnp.concatenate((a,b),axis0) print(c,c)axis1 跨列 cnp.concatenate(a,b,axis1) 参考&#xff1a;htt…