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 ...
随机推荐
- Git: remote: The project you were looking for could not be found.
解决方案 最简单的是在电脑的用户凭证中修改,改为正确的结果. 特殊情况 既只对改项目配置,不影响全局 命令如下: 克隆 git clone http://username:password@xxx.c ...
- wget: 未找到命令
输入以下命令: yum -y install wget
- Vue报错:Invalid handler for event "changeUI": got undefined
解决方案 错误代码如下所示: <router-view @hideBox="hideLoginRegisterBox" @changeUI="changeLogin ...
- 部署ELK+filebeat收集nginx日志
前言 简介 ELK(Elasticsearch.Logstash.Kibana)是开源的实时日志收集分析解决方案. Elasticsearch:开源搜索引擎,是一个基于Lucene.分布式.通过Res ...
- jmeter:内存溢出解决办法
使用jmeter执行性能测试,报错:java.lang.OutOfMemoryError: Java heap space 需要对jmeter的jvm进行调优.记录如下: 1. 问题记录及分析: 使用 ...
- DAY001_二进制运算
左移和右移 无符号左移? Java没有无符号左移 无符号右移 左边补0 有符号右移 左边用原符号位补位 即正数补0效果同无符号右移.负数补1 有符号左移 右边补0 import org.junit.T ...
- 知识图谱(Knowledge Graph)- Neo4j 5.10.0 使用 - Java SpringBoot 操作 Neo4j
上一篇使用了 CQL 实现了太极拳传承谱,这次使用JAVA SpringBoot 实现,只演示获取信息,源码连接在文章最后 三要素 在知识图谱中,通过三元组 <实体 × 关系 × 属性> ...
- Redis从入门到放弃(11):雪崩、击穿、穿透
1.前言 Redis作为一款高性能的缓存数据库,为许多应用提供了快速的数据访问和存储能力.然而,在使用Redis时,我们不可避免地会面对一些常见的问题,如缓存雪崩.缓存穿透和缓存击穿.本文将深入探讨这 ...
- Codeforces 1462F The Treasure of The Segments
题意 给\(n(1\leq n\leq 2*10^5)\)个线段$[l_i,r_i] (1≤l_i≤r_i≤10^9) $,问最少删除几个线段,使得剩下线段中,有至少一个线段与所有线段相交. 分析 对 ...
- VulnStack - ATT&CK红队评估实战(一) Writeup
VulnStack - ATT&CK红队评估实战(一) Writeup VulnStack(一)环境搭建 项目地址 http://vulnstack.qiyuanxuetang.net/vul ...