Python - list 列表常见方法
list.append(x)
介绍
- 在列表的末尾添加一个元素
- 相当于 a[len(a):] = [x]
返回值
None
栗子
# append
a = [1, 2, 3]
b = [4, 5, 6] print(a.append(1))
print(a) a.append(b)
print(a) # 输出结果
None
[1, 2, 3, 1]
[1, 2, 3, 1, [4, 5, 6]]
a.append(b) 会将整个列表当做一个元素添加进去哦
list.extend(iterable)
介绍
- 使用可迭代对象中的所有元素来扩展列表
- 粗俗点:在列表后面接另一个列表
- 相当于 a[len(a):] = iterable
返回值
None
栗子
# extend
a = [1, 2, 3]
b = [4, 5, 6] print(a.extend([]))
print(a) a.extend(b)
print(a) a = [1, 2, 3]
b = [4, 5, 6] print(a + b) # 输出结果
None
[1, 2, 3]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
extend() 有点像列表相加,但还是有区别的
a.extend(b) 和 a+b 的区别
- extend() 传的参数只要求是可迭代对象
- 但是列表相加,要求都是列表
- 而可迭代对象的讲解可以参考这篇文章:https://www.cnblogs.com/poloyy/p/14658433.html
list.insert(i, x)
介绍
- 在给定的位置插入一个元素
- i:是要插入的元素的索引
- x:插入的元素值
- a.insert(0, x) 插入列表首位
- a.insert(len(a), x) 等同于 a.append(x)
返回值
None
栗子
# insert
a = [1, 2, 3]
print(a.insert(0, 0))
print(a) b = [4, 5, 6]
a.insert(999, b)
print(a) # 输出结果
None
[0, 1, 2, 3]
[0, 1, 2, 3, [4, 5, 6]]
如果 i 值大于列表长度,那么就会在列表末尾添加元素
list.remove(x)
介绍
- 移除列表中第一个值为 x 的元素
- 如果没有这样的元素,则抛出 ValueError 异常
返回值
None
栗子
# remove
a = [1, 2, 3, 1]
print(a.remove(1))
print(a) a.remove(4) # 输出结果
None
[2, 3, 1]
Traceback (most recent call last):
a.remove(4)
ValueError: list.remove(x): x not in list
list.pop([i])
介绍
- 删除列表中指定位置的元素并返回它
- 如果没有指定位置,a.pop() 将会删除并返回列表中的最后一个元素
- [i] 代表参数 i 是可选的,不是必填的,不是让你传 [1] 、[2] 这种参数
返回值
被删除的元素值
栗子
# pop
a = [1, 2, 3, 4]
print(a.pop(3))
print(a) a.pop()
print(a) a.pop(1)
print(a) # 输出结果
4
[1, 2, 3]
[1, 2]
[1]
list.clear()
介绍
- 移除列表中的所有元素
- 等价于 del a[:]
返回值
None
栗子
# clear
a = [1, 2, 3, 4]
print(a.clear())
print(a) # 输出结果
None
[]
list.index(x[, start[, end]])
介绍
- 返回列表中第一个值为 x 的元素的索引
- 如果没有这样的元素将会抛出 ValueError 异常
- 可选参数 start 和 end 是切片符号,用于将搜索限制为列表的特定子序列
- 返回的索引是相对于整个序列的开始计算的,而不是 start 参数
返回值
索引值
栗子
# index
a = [1, 2, 3, 4]
print(a.index(2))
print(a.index(1, 0, 2))
print(a.index(33)) # 输出结果
1
0
Traceback (most recent call last):
print(a.index(33))
ValueError: 33 is not in list
list.count(x)
介绍
返回元素 x 在列表中出现的次数
返回值
次数
栗子
# count
a = [1, 2, 1, 4]
print(a.count(1))
print(a.count(3)) # 输出结果
2
0
list.sort(*, key=None, reverse=False)
介绍
对列表中的元素进行排序(参数可用于自定义排序)
返回值
None
栗子
# sort
a = [4, 3, 2, 1]
print(a.sort())
print(a) a.sort(reverse=True)
print(a) # 输出结果
None
[1, 2, 3, 4]
[4, 3, 2, 1]
list.reverse()
介绍
翻转列表中的元素
返回值
None
栗子
# reverse()
a = [1, 2, 3, 4]
print(a.reverse())
print(a) # 输出结果
None
[4, 3, 2, 1]
list.copy()
介绍
- 返回列表的一个浅拷贝
- 等价于 a[:]
返回值
原来的列表
栗子
# copy
a = [1, 2, 3, [1, 2, 3]]
print(a.copy()) b = a.copy()
a[1] = 11
print(a)
print(b)
a[3][2] = 22
print(a)
print(b) # 输出结果
[1, 2, 3, [1, 2, 3]]
[1, 11, 3, [1, 2, 3]]
[1, 2, 3, [1, 2, 3]]
[1, 11, 3, [1, 2, 22]]
[1, 2, 3, [1, 2, 22]]
可以从结果看出,的确是浅拷贝
Python - list 列表常见方法的更多相关文章
- Python List 列表list()方法
Python基础数据类型之一列表list,在python中作用很强在,列表List可以包含不同类型的数据对像,同时它是一个有序的变量集合,每个变量可以存储一个地址.所有序列能用到的标准操作方法,列表也 ...
- Python循环列表的方法
python循环列表的几种方法: 第一,依次打印列表中的各项值. 1 #!usr/bin/env python3 2 #!-*- Coding:utf-8 -*- 3 4 ''' 5 多种循环列表的方 ...
- python之列表及其方法---整理集
列表类,类名是list 通过list类创建对象,使用中括号 列表特性: 使用中括号括起来 中间用逗号分隔每个元素 元素可以是数字.字符串.布尔值.列表 列表中可以嵌套列表 列表中每个元素的下标从0开始 ...
- python之列表常见操作
list = [1,2,3,4,5,6,7,8,9,0,0,0,0,0] listSet = list.set(list)#将列表中的数据进行去重处理 此时listSet中的数据为[1,2,3,4,5 ...
- python: 列表的方法
操作 函数 使用方法 备注 索引 index in: example.index(‘creative’) --- 1 in:example[1,] --- [’creative’, [’京东’,996 ...
- Python day3_string的常见方法2_笔记
1.分割字符串的4个方法partition,rpartition,split,rsplit(区别,partition是仅分割一个,split分割全部,r是从右边开始分割,split可以传参数,自定义分 ...
- Python day4_list的常见方法1_笔记(浅拷贝和深拷贝的简述)
li=[1,2,3,'55dd'] li.clear()#清除列表内容 print(li) li.append(1)#追加 li.append(3) print(li) #拓展:直接赋值和copy和d ...
- python清空列表的方法
1.大数据量的list,要进行局部元素删除,尽量避免用del随机删除,非常影响性能,如果删除量很大,不如直接新建list,然后用下面的方法释放清空旧list. 2.对于一般性数据量超大的list,快速 ...
- python中空列表判断方法总结,欢迎补充
--代码-- if __name__ == '__main__': l = [] print(l.__len__() == 0) print(l.__sizeof__() == 40) print(l ...
随机推荐
- Java Spring boot 多商户入驻 外卖|跑腿|代驾 Uniapp版本
技术说明: 源码下载:https://www.yuanmahy.com/8357.html 开发环境:jdk1.8,mysql5.7,node 9.4,redis6.2,npm6.9 开发工具:前端使 ...
- Linkerd 2.10(Step by Step)—使用 Kustomize 自定义 Linkerd 的配置
Linkerd 2.10 系列 快速上手 Linkerd v2 Service Mesh(服务网格) 腾讯云 K8S 集群实战 Service Mesh-Linkerd2 & Traefik2 ...
- 【NX二次开发】Block UI 通过浏览选择文件
属性说明 属性 类型 描述 常规 BlockID String 控件ID Enable Logical 是否可操作 Group ...
- 【SQLite】教程05-SQLite创建数据库、附加、分离数据库
创建数据库 .quit命令 退出sqlite 提示符 .quit .dump 命令 使用 SQLite .dump 点命令来导出完整的数据库在一个文本文件中,如下所示: sqlite3 Test.db ...
- 【题解】ball 数论
题目 题目描述: 众所周知的是Dr.Bai 穷困潦倒负债累累,最近还因邦邦的出现被班上的男孩子们几乎打入冷宫,所以Dr.Bai 决定去打工赚钱. Dr.Bai 决定做玩♂球的工作,工作内容如下. 老板 ...
- 使用axios模拟表单提交
1.需求背景 最近在实验室写一个Spring前后端分离的项目,项目中使用Spring Security组件实现系统的认证和授权,当Security的认证模式设置为FormLogin时(如下代码),前端 ...
- 2021Qt打包发布教程
因为最近写了一个程序,然后想着能给室友玩耍,就研究了一下如何打包,写这篇博客记录一下 1. 首先获得程序的Release版本 就是点击这个Release,然后构建一遍 2. 进入构建的release文 ...
- 仅使用JsonUtility && File类实现Json数据读写
using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using S ...
- Redis 雪崩、穿透、击穿、并发、缓存讲解以及解决方案
1.缓存雪崩 数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机. 比如一个雪崩的简单过程 1.redis集群大面积故障 2.缓存 ...
- 超详细的原生JavaScript轮播图(幻灯片)的制作
本次轮播图的制作主要分为3个部分,分别是:设置定时器自动轮播:点击左右切换按钮轮播:下方点击按钮轮播.具体实现步骤如下: (效果图) html部分代码如下: <div class="s ...