python列表之部分列表——切片
目录
切片
全索引
我们平常可能需要使用一个列表中的子列表,也就是部分元素,这个时候我们就需要用到切片这个功能啦
要创建切片,就如同range()函数一样,需要用到元素的索引,如下列所示
list_1 = ['SWS', 'SSN', '慢蜗牛', '小蜗牛', '小滴水']
print(list_1[0:3])
这里打印的切片从索引0到索引3结束,并且不包括索引3,所以只打印了三个元素
['SWS', 'SSN', '慢蜗牛']
我们这里的索引可以随意定义,但是如果超过了列表的最后一个索引会怎么样,大家可以试试
但是注意!!!我们这里是不包含最后一个索引的,遇到最后一个索引就直接退出
半索引
如果我们没有指定第一个索引,python就会自动从列表开头开始
没有指定最后一个索引,python就会自动结束在列表末尾
list_1 = ['SWS', 'SSN', '慢蜗牛', '小蜗牛', '小滴水']
print(list_1[:4])
print(list_1[1:])
['SWS', 'SSN', '慢蜗牛', '小蜗牛']
['SSN', '慢蜗牛', '小蜗牛', '小滴水']
负数索引
我们这里还可以用负数索引来返回列表末尾相应距离的切片
list_1 = ['SWS', 'SSN', '慢蜗牛', '小蜗牛', '小滴水']
print(list_1[-4:])
['SSN', '慢蜗牛', '小蜗牛', '小滴水']
遍历切片
如果要遍历切片,我们可以使用for循环,如:
list_1 = ['SWS', 'SSN', '慢蜗牛', '小蜗牛', '小滴水']
for sws in list_1[:4]:
print(sws.title())
我们这里遍历切片了前四个元素
Sws
Ssn
慢蜗牛
小蜗牛
复制列表
想要复制一个列表,并且复制的列表的改变不会影响原列表,那我们应该怎么办呢,来看看这个方法可不可以
list_1 = ['SWS', 'SSN', '慢蜗牛', '小蜗牛', '小滴水']
list_2 = list_1
list_2.append('追尾的猫')
print(list_2)
print(list_1)
我们这里创建了一个列表,并且把这个列表用赋值符'='给了第二个列表
然后用append()函数来改变第二个列表的值,来看看两个列表是否同时改变
['SWS', 'SSN', '慢蜗牛', '小蜗牛', '小滴水', '追尾的猫']
['SWS', 'SSN', '慢蜗牛', '小蜗牛', '小滴水', '追尾的猫']
结果跟我们想要的大相径庭呀
其实对于列表来说,用'='来操作就相当于让两个指针同时指向了一个对象
当其中一个指针改变这个对象时,因为指向的是同一个对象,所以另一个指针的对象也会改变
那么我们应该怎么来复制一个列表呢,别忘了我们前面讲过的切片呀
list_1 = ['SWS', 'SSN', '慢蜗牛', '小蜗牛', '小滴水']
list_2 = list_1[:]
list_2.append('追尾的猫')
print(list_2)
print(list_1)
['SWS', 'SSN', '慢蜗牛', '小蜗牛', '小滴水', '追尾的猫']
['SWS', 'SSN', '慢蜗牛', '小蜗牛', '小滴水']
python列表之部分列表——切片的更多相关文章
- python的高级特性:切片,迭代,列表生成式,生成器,迭代器
python的高级特性:切片,迭代,列表生成式,生成器,迭代器 #演示切片 k="abcdefghijklmnopqrstuvwxyz" #取前5个元素 k[0:5] k[:5] ...
- .Net程序员之Python基础教程学习----列表和元组 [First Day]
一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...
- python的元组和列表使用之一
Python的列表和元组 1. 概述 列表是用方括号[]包围的数据集合,不同的成员之间用逗号进行分隔,列表可以通过序号来进行访问其中的成员,可以对列表进行排序.添加.删除操作,改变列表中某 ...
- Python中多个列表与字典的合并方法
Python中多个列表与字典的合并方法 1多列表的合并 1)a+=b a=['] b = ['] a += b print(a) >>>['] 2) a.extend(b) a=[' ...
- python之路:列表及元组之定义
python开发之路:列表及元组之定义 列表是以后用处较大的一个数据类型,这种数据类型可以存储按组分类的信息.好了,我不多说,开始讲了! 好了,现在我有个情景,我要存东汉时期(韩国,秦国,……)所 ...
- python基础数据类型--list列表
列表: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = [‘alex ...
- Python学习day4 数据类型Ⅱ(列表,元祖)
day4 知识补充&数据类型:列表,元祖 1.知识补充 1.编译型/解释型 编译型:在代码编写完成之后编译器将其变成另外一个文件教给你算计执行. 代表语言:Java,c,c++ ,c#, Go ...
- 洗礼灵魂,修炼python(15)--列表进阶话题—>列表解析/列表生成器
是的,我是想到什么知识点就说什么,没有固定的主题,我的标题都是在写完博客再给的.本篇博文说说列表进阶话题.其实列表应该是比较熟悉的了,而毫不夸张的说,在实际的开发中,列表也是使用的最多的,以后你会体会 ...
- Python内置数据结构--列表
本节内容: 列表 元组 字符串 集合 字典 本节先介绍列表. 一.列表 一种容器类型.列表可以包含任何种类的对象,比如说数字.子串.嵌套其他列表.嵌套元组. 任意对象的有序集合,通过索引访问其中的元素 ...
- python之路---04 列表 元组
十七 .列表 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 1.列表存在索引和切片. 和字符串是一样的. 2.增删改查操作 1).增加 1. .append(&quo ...
随机推荐
- ASP.NET Core WebAPI如何获得远程文件返回文件流给前端?
一.根据网络路径把文件保存成byte[]返回给前端 项目采用的是前后端分离的模式,后端使用ASP.NET Core WebAPI方式,将文件流返回给前端. /// <summary> // ...
- VMware虚拟机的安装与配置
一.VMware简介 VMware Workstation Pro 是业界标准的桌面 Hypervisor,用于在 Linux 或 Windows PC 上运行虚拟机. Workstation 16 ...
- quarkus依赖注入之十一:拦截器高级特性上篇(属性设置和重复使用)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是<quarkus依赖注入> ...
- Ubuntu 安装部署Kubernetes(k8s)集群
目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kubernetes 组件 3.2.1 控制平面组件 3.2.2 Node组件 四.配置节点的基本环境 五.节点安装doc ...
- TCP 粘包
TCP(Transmission Control Protocol,传输控制协议)是一种传输层协议. TCP提供了以下主要功能: 可靠性:TCP使用确认.重传和校验等机制来确保数据的可靠传输.它能够检 ...
- 【pandas小技巧】--花哨的DataFrame
最近github上发现了一个库(plottable),可以用简单的方式就设置出花哨的 DataFrame 样式. github上的地址:https://github.com/znstrider/plo ...
- Spring Boot虚拟线程与Webflux在JWT验证和MySQL查询上的性能比较
早上看到一篇关于Spring Boot虚拟线程和Webflux性能对比的文章,觉得还不错.内容较长,我就不翻译了,抓重点给大家介绍一下这篇文章的核心内容,方便大家快速阅读. 测试场景 作者采用了一个尽 ...
- 兴达易控Modbus转Profinet 网关连接 ACS510 变频器配置案例
案例简介: 该案例为兴达易控Modbus转Profinet网关(XD-MDPN100)将ABB ACS510 变频器接入西门子 1200PLC.需要设备为西门子 PLC1200.ACS510 变频器. ...
- 五分钟k8s入门到实战-应用配置
背景 在前面三节中已经讲到如何将我们的应用部署到 k8s 集群并提供对外访问的能力,x现在可以满足基本的应用开发需求了. 现在我们需要更进一步,使用 k8s 提供的一些其他对象来标准化我的应用开发. ...
- gitbook在线记事本
https://app.gitbook.com/ About this template: An Internal Wiki to lay out everything anyone needs to ...