python教程:12种列表常用操作方法

article/2025/6/8 11:01:37

都是基础知识,长久不用就会忘,温故知新,又来学习学习。相信很多人在编程的或者对一些程序处理的思维会用到,比如面试 (有写的不对的地方也请大家指正~

一、列表定义

列表是一个有序且可更改的集合。在Python中,列表用方括号表示。列表里面的内容可以是任意类型,可重复。

li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
print(li)
['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]

二、向列表添加数据

1、追加 append方法

li = ['A', 'B', 'C']
li.append('E')  # 一次只能添加一个元素,并且只能在列表最后
print(li)
['A', 'B', 'C', 'E']

2、插入 insert方法,比append灵活,指定索引位,注意索引从0开始

li = ['A', 'B', 'C']
li.insert(0, 'M')  # 在首位插入M,两个参数
print(li)['M', 'A', 'B', 'C']

三、删减列表中数据

1、弹出 pop方法

li = ['A', 'B', 'C']
li.pop()  # 根据索引进行删除,默认删除最后一个元素,一次只能删除一个
print(li)
['A', 'B']

 删除指定位置的数据

li = ['A', 'B', 'C']
li.pop(0)  # 删除第一位
print(li)
['B', 'C']

2、移除 remove方法

li = ['A', 'B', 'C']
li.remove('B')  # 删除列表中的值,一次只能删除一个
print(li)
['A', 'C']

3、操作语句del

li = ['A', 'B', 'C']
del li[0] #删指定索引的元素,需要注意是del是一种操作语句
print(li)
['B', 'C']

四、索引(即下标)

li = ['A', 'B', 'C']
print(li[0])  # 获取首位
print(li[-1])  # 获取末尾
A
C

五、切片,顾头不顾尾

li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
print(li[0:2])  # 获取前两位
['A', 'B']print(li[:])  # 获取全部
['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]print(li[4:])  # 获取第5位到尾部
['E', 'F', 'G', 1, 1, 2, 3]print(li[-3:-1])  # 获取倒数第3到倒数第2
[1, 2]

六、跳取,涉及步长

要点,找到索引位,步长为正顺着取,步长为负,逆向取

li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
print(li[1:5:3])  # 从第2位到第6位,隔2个获取
['B', 'E']print(li[0:5:2])  # 从开头到第6位,隔1个获取
['A', 'C', 'E']print(li[5:0:-2])  # 从第6位开始,隔1个倒着获取
['F', 'D', 'B']

七、常用列表操作符

1、复制 *

li = ['A', 'B']
print(li * 2)  # 复制列表中的值追加到列表
['A', 'B', 'A', 'B']

2、拼接 +

li = ['A', 'B']
li2 = ['C', 'D']
print(li + li2)  # 两个列表拼接
['A', 'B', 'C', 'D']

八、统计列表某元素出现次数

li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
print(li.count('A'))  # 统计元素A出现的次数
print(li.count(1))  # 统计元素1出现的次数
1
2

九、查找元素

如果列表中有重复元素,index方法只找首次出现的索引位

li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
print(li.index('A'))  # 查找元素A首次出现的索引位置
print(li.index(1))  # 查找元素1首次出现的索引位置
0
7

十、反转列表

li = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 1, 1, 2, 3]
li.reverse()  # 反转列表元素
print(li)
[3, 2, 1, 1, 'G', 'F', 'E', 'D', 'C', 'B', 'A']

十一、列表排序

只对全数值有效,否则会报错

li = [1, 5, 2, 99, 6, 44, 66, 3, 34]
li.sort()  # 默认对列表数据进行从小到大排序
print(li)
[1, 2, 3, 5, 6, 34, 44, 66, 99]li.sort(reverse=True)  # 对列表数据进行从大到小排序
[99, 66, 44, 34, 6, 5, 3, 2, 1]#根据对列表元素反转的规律,从大到小排序也可以先sort后再reverse
#li.sort()
#li.reverse()

十二、拷贝列表

1、浅拷贝,改一个会影响另一个

#浅拷贝
l = ['A', 'B']
k = l
print(k)
l.append('C')
print(l)
print(k)  # 对l列表进行操作会同步影响k列表值['A', 'B']
['A', 'B', 'C']
['A', 'B', 'C']

2、深拷贝,改一个不会影响另一个

# 深拷贝
m = ['A', 'B']
n = m[:]
print(n)
m.append('C')
print(m)
print(n)  # 对m列表进行操作不影响n列表值['A', 'B']
['A', 'B', 'C']
['A', 'B']

3、copy函数,改一个不会影响另一个

m = ['A', 'B']
n = m.copy()
print(n)
m.append('C')
print(n)
['A', 'B']
['A', 'B']

4、内建方法list,本质可以理解为转成列表,改一个不会影响另一个

m = ['A', 'B']
n = list(m)
print(n)
m.append('C')
print(n)
['A', 'B']
['A', 'B']


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

相关文章

python教程 列表list操作

python的列表 一、常用操作1、创建列表2、索引操作 二、列表的增删改查1、增加 一、常用操作 1、创建列表 list1 [] #创建一个空列表 list2 [1, 2, 3, 4, 5, -1] #创建一个数字型列表 list3 [“a”, “q”, “w”, “s”, “d”, “f”, “e”] #创建一个字符型列表 li…

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…