一 列表的相关操作

1.1  列表的拼接

lst1 = [1,2,3]
lst2 = [4,5,6]
res = lst1 + lst2
print(res)

执行

[root@node10 python]# python3 test.py
[1, 2, 3, 4, 5, 6]

1.2 列表的重复

lst1 = [7,8,9]
res = lst1 * 3
print(res)

执行

[root@node10 python]# python3 test.py
[7, 8, 9, 7, 8, 9, 7, 8, 9]

1.3 列表的切片

语法 => 列表[::] 完整格式:[开始索引:结束索引:间隔值]

  1. [开始索引:] 从开始索引截取到列表的最后
  2. [:结束索引] 从开头截取到结束索引之前(结束索引-1)
  3. [开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
  4. [开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
  5. [:]或[::] 截取所有列表

开始索引

listvar = ["刘备","关羽","张飞","曹操","许褚","荀彧","诸葛亮","赵云","黄忠"]
#从开始索引截取到列表的最后
res= listvar[1:]
print(res)

执行

[root@node10 python]# python3 test.py
['关羽', '张飞', '曹操', '许褚', '荀彧', '诸葛亮', '赵云', '黄忠']

结束索引

listvar = ["刘备","关羽","张飞","曹操","许褚","荀彧","诸葛亮","赵云","黄忠"]
#从开头截取到结束索引之前(结束索引-1)
res = listvar[:4]
print(res)

执行

[root@node10 python]# python3 test.py
['刘备', '关羽', '张飞', '曹操']

开始索引:结束索引

listvar = ["刘备","关羽","张飞","曹操","许褚","荀彧","诸葛亮","赵云","黄忠"]
# (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
res = listvar[4:6]
print(res)

执行

[root@node10 python]# python3 test.py test.py
['许褚', '荀彧']

开始索引:结束索引:间隔值

listvar = ["刘备","关羽","张飞","曹操","许褚","荀彧","诸葛亮","赵云","黄忠"]
# 0 3 6 9 先把数字数出来,通过下标找对应值
res = listvar[::3]
print(res)
# 3 5 7 9
print(listvar[3::2])
# 0 3 6
print(listvar[:5:3])

执行

[root@node10 python]# python3 test.py test.py
['刘备', '曹操', '诸葛亮']
['曹操', '荀彧', '赵云']
['刘备', '曹操']

倒叙

listvar = ["刘备","关羽","张飞","曹操","许褚","荀彧","诸葛亮","赵云","黄忠"]
print(listvar[::-1])
# -2 -4
print(listvar[-2:-6:-2])

执行

[root@node10 python]# python3 test.py test.py
['黄忠', '赵云', '诸葛亮', '荀彧', '许褚', '曹操', '张飞', '关羽', '刘备']
['赵云', '荀彧']

1.4 列表的获取

listvar = ["刘备","关羽","张飞","曹操","许褚","荀彧","诸葛亮","赵云","黄忠"]
res = listvar[2]
print(res)
res = listvar[-1]
print(res)

执行

[root@node10 python]# python3 test.py test.py
张飞
黄忠

1.5  列表的修改

listvar = ["刘备","关羽","张飞","曹操","许褚","荀彧","诸葛亮","赵云","黄忠"]
listvar[3] = "123"
print(listvar)
# 如果使用了切片进行修改,右侧必须是可迭代性数据(容器类型数据)
# listvar[2:] = "123"
listvar[2:] = range(0,4)
print(listvar)

执行

[root@node10 python]# python3 test.py test.py
['刘备', '关羽', '张飞', '123', '许褚', '荀彧', '诸葛亮', '赵云', '黄忠']
['刘备', '关羽', 0, 1, 2, 3]

指定间隔

listvar = ["刘备","关羽","张飞","曹操"]
# 如果使用了切片,并且指定了第三个参数间隔值,那么截取几个,就放几个,一一对应
listvar[::2] = ("a","b")
print(listvar)

执行

[root@node10 python]# python3 test.py test.py
['a', '关羽', 'b', '曹操']

1.6 列表的删除

listvar = ["刘备","关羽","张飞","曹操","许褚","荀彧","诸葛亮","赵云","黄忠"]
del listvar[1]
print(listvar) # 可以使用切片删除
del listvar[1:3]
print(listvar)

执行

[root@node10 python]# python3 test.py test.py
['刘备', '张飞', '曹操', '许褚', '荀彧', '诸葛亮', '赵云', '黄忠']
['刘备', '许褚', '荀彧', '诸葛亮', '赵云', '黄忠']

元组当中的一级数据更改不了,但是二级或者多级如果是列表这样的数据可修改

tup = (1,2,3,4,5,[1,2,3,45])
tup[-1][-1] = 54
print(tup)

执行

[root@node10 python]# python3 test.py test.py
(1, 2, 3, 4, 5, [1, 2, 3, 54])

二 列表的相关函数

1 append

功能:向列表的末尾添加新的元素
格式:列表.append(值)
返回值:None
注意:新添加的值在列表的末尾,该函数直接操作原有列表

2.1 增加函数

2.1.1 append

listvar = [1,2,3,4,5]
listvar.append(6)
print(listvar)
listvar.append([12,3])
print(listvar)

执行

[root@node10 python]# python3 test.py test.py
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, [12, 3]]

2.1.2 insert

功能:在指定索引之前插入元素
格式:列表.insert(索引,值)
返回值:None
注意:直接改变原有列表

示例

listvar = [1,2,3,4,5]
listvar.insert(2,7)
print(listvar)

执行

[root@node10 python]# python3 test.py test.py
[1, 2, 7, 3, 4, 5]

2.1.3 extend

功能:迭代追加所有元素
格式:列表.extend(可迭代性数据)
返回值:None
注意:直接改变原有列表

示例

listvar = [1,2,3,4,5]
listvar.extend(("你","好"))
# listvar.extend({'a':1,"b":2}) 语法上允许
print(listvar)

执行

[root@node10 python]# python3 test.py test.py
[1, 2, 3, 4, 5, '你', '好']

2.2 删除

2.2.1  pop

功能:通过指定索引删除元素,若没有索引移除最后那个
格式:列表.pop(索引)
返回值:删除的元素
(注意:没有指定索引,默认移除最后一个元素 )

示例

listvar = [1,2,3,4,5]
res = listvar.pop()
print(res)
print(listvar)
listvar = [1,2,3,4,5]
res = listvar.pop(3) # 指定索引
# res = listvar.pop(33) 删除不存在的报错
print(listvar)

执行

[root@node10 python]# python3 test.py test.py
5
[1, 2, 3, 4]
[1, 2, 3, 5]

2.2.2  remove

功能:通过给予的值来删除,如果多个相同元素,默认删除第一个
格式:列表.remove(值)
返回值:无
(注意:如果有索引的情况推荐使用pop,效率高于remove)

示例

listvar = [1,2,3,4,5]
listvar.remove(4)
print(listvar)

执行

[root@node10 python]# python3 test.py test.py
[1, 2, 3, 5]

2.2.3 clear

功能:清空列表
格式:列表.clear()
返回值:空列表

示例

listvar = [1,2,3,4,5]
listvar.clear()
print(listvar)

执行

[root@node10 python]# python3 test.py test.py
[]

2.3 列表其他操作

改查 具体参数列表相关操作

2.3.1 index查找

功能:获取某个值在列表中的索引
格式:列表.index(值[,start][,end]) # [] 表达参数可选项
返回值:找到返回索引 (找不到报错)

示例

listvar = [1,2,3,4,54,4,90,4,78,78787,7878]
res = listvar.index(3)
print(res)
# res = listvar.index(99) # 如果索引不存在直接报错
res = listvar.index(4,4) # 5
print(res)
res = listvar.index(4,6,9) # 指定索引的查找范围,高位取不到
print(res)

执行

[root@node10 python]# python3 test.py test.py
2
5
7

2.3.2 count计数

功能:计算某个元素出现的次数
格式:列表.count(值)
返回值:次数

示例

listvar = [1,2,3,4,54,4,90,4,78,78787,7878]
res= listvar.count(4)
print(res)

执行

[root@node10 python]# python3 test.py test.py
3

2.3.3 sort排序

功能:列表排序(默认小到大排序)
格式:列表.sort(reverse=False)
返回值:None
注意:直接更改原列表

示例

listvar = [78,12,-3,99]
# 默认从小到大排序 (正序)
listvar.sort()
print(listvar)
# 从大到小排序 用reverse = True (倒叙)
listvar.sort(reverse=True)
print(listvar)

执行

[root@node10 python]# python3 test.py test.py
[-3, 12, 78, 99]
[99, 78, 12, -3]

2.4.4 reverse反转

功能:列表反转操作
格式:列表.reverse()
返回值:None
注意:直接更改原列表

示例

listvar = [78,12,-3,99]
listvar.reverse()
print(listvar)

执行

[root@node10 python]# python3 test.py test.py
[99, -3, 12, 78]

011.Python的列表的相关操作的更多相关文章

  1. 初识python 字符串 列表 字典相关操作

    python基础(一): 运算符: 算术运算: 除了基本的+ - * / 以外,还需要知道 :  // 为取整除 返回的市商的整数部分 例如: 9 // 2  ---> 4  , 9.0 //  ...

  2. python对数据类型的相关操作

    一.int的相关操作 int只有一个相关操作,bit_length()   用于计算一个数字的二进制长度 二.bool的相关操作 1.把数字转换成bool,除了0,返回的都是True a = 10 p ...

  3. Python基础——列表、元组操作

    列表.元组操作 列表: 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0 ...

  4. Python学习-列表元组字典操作

    一.列表 列表是Python的基本数据类型之一,它是以 [] 括起来的,内部成员用逗号隔开.里面可以存放各种数据类型. # 例如: list2 = ['jason', 2, (1, 3), ['war ...

  5. 026.Python面向对象类的相关操作以及对象和类的删除操作

    类的相关操作 定义的类访问共有成员的成员和方法 定义的类动态添加公有成员的属性和方法 定义的类删除公有成员的属性和方法 1 定义一个基本的类 #定义一个类 class Plane(): #添加一个共有 ...

  6. Python3中的List列表的相关操作

    列表对象内建函数 1. append(obj) 在列表的末尾添加新元素obj.例: >>> a = ['a', 'b', 'c'] >>> a.append('d' ...

  7. Python 基础之集合相关操作与函数和字典相关函数

    一:集合相关操作与相关函数 1.集合相关操作(交叉并补) (1)intersection() 交集 set1 = {"one","two","thre ...

  8. python(列表及列表的相关操作、元组和range)

    1.什么是列表 列表是一个课表的数据类型 列表有[]来表示,每一项元素用逗号隔开,列表什么都能装.是能装对象的对象. 列表可以装大量数据. 2.列表的索引和切片 列表和字符串一样,也有索引和切片.只不 ...

  9. Json概述以及python对json的相关操作

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Langu ...

随机推荐

  1. 记一次metasploitable2内网渗透之1524端口

    0x01.漏洞 许多攻击脚本将安装一个后门SHELL于这个端口,尤其是针对SUN系统中Sendmail和RPC服务漏洞的脚本.如果刚安装了防火墙就看到在这个端口上的连接企图,很可能是上述原因.可以试试 ...

  2. SpringBoot+Dubbo+Zookeeper 实例

    前言 当下Java 生态环境里面,微服务占据了非常大的份额,现在大部分新开发的 Java选型的后台程序都很奇妙的会跟微服务发生一些关系.那目前市面上主流的微服务方向主要有 Spring 家族推出的Sp ...

  3. shell 使用 cat 配合 EOF 创建文件并写入多行内容

    之前折腾 GtiHub Actions 想实现提交 issue 后将 issue 的内容生成一个 Markdown 文件提交到仓库,从而实现自动发布到 GitHub Pages 的目的.倒是有一些现成 ...

  4. springdata jpa之ddl-auto配置的属性

    在jpa中ddl-auto一共有四种: 分别为: ddl-auto:create ----每次运行该程序,没有表格会新建表格,表内有数据会清空:ddl-auto:create-drop ----每次程 ...

  5. Mediapipe 在RK3399PRO上的初探(二)(自定义Calculator)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  6. 0609-搭建ResNet网络

    0609-搭建ResNet网络 目录 一.ResNet 网络概述 二.利用 torch 实现 ResNet34 网络 三.torchvision 中的 resnet34网络调用 四.第六章总结 pyt ...

  7. Mybatis的简单增删改查

    刚开始学习Mybatis可以先看下官方文档,MyBatis是支持定制化SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis避免了几乎所有的JDBC代码和手工设置参数以及抽取结果集.MyBat ...

  8. php文件夹下文件批量重命名

    php文件夹下文件批量重命名 <?php header("Content-type:text/html;charset=utf-8"); $dir = __DIR__.'./ ...

  9. 模板templates的使用

    目录 模板及其渲染 模板查找路径 DTL模板语法 常用的模板标签 DTL常用过滤器 模块结构优化 加载静态文件 模板及其渲染 视图函数只是直接返回文本,而在实际生产环境中其实很少这样用,因为实际的页面 ...

  10. WinDbg 配置联机调试环境搭建

    接下来设置虚拟机启动模式,可以直接设置现在的虚拟机启动项为debug模式 或者直接新建一个启动项目 bcdedit /dbgsettings {serial [baudrate:value][debu ...