目录

切片

全索引

半索引

负数索引

遍历切片

复制列表


切片

全索引

我们平常可能需要使用一个列表中的子列表,也就是部分元素,这个时候我们就需要用到切片这个功能啦

要创建切片,就如同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列表之部分列表——切片的更多相关文章

  1. python的高级特性:切片,迭代,列表生成式,生成器,迭代器

    python的高级特性:切片,迭代,列表生成式,生成器,迭代器 #演示切片 k="abcdefghijklmnopqrstuvwxyz" #取前5个元素 k[0:5] k[:5] ...

  2. .Net程序员之Python基础教程学习----列表和元组 [First Day]

    一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...

  3. python的元组和列表使用之一

    Python的列表和元组 1.       概述 列表是用方括号[]包围的数据集合,不同的成员之间用逗号进行分隔,列表可以通过序号来进行访问其中的成员,可以对列表进行排序.添加.删除操作,改变列表中某 ...

  4. Python中多个列表与字典的合并方法

    Python中多个列表与字典的合并方法 1多列表的合并 1)a+=b a=['] b = ['] a += b print(a) >>>['] 2) a.extend(b) a=[' ...

  5. python之路:列表及元组之定义

      python开发之路:列表及元组之定义 列表是以后用处较大的一个数据类型,这种数据类型可以存储按组分类的信息.好了,我不多说,开始讲了! 好了,现在我有个情景,我要存东汉时期(韩国,秦国,……)所 ...

  6. python基础数据类型--list列表

    列表: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = [‘alex ...

  7. Python学习day4 数据类型Ⅱ(列表,元祖)

    day4 知识补充&数据类型:列表,元祖 1.知识补充 1.编译型/解释型 编译型:在代码编写完成之后编译器将其变成另外一个文件教给你算计执行. 代表语言:Java,c,c++ ,c#, Go ...

  8. 洗礼灵魂,修炼python(15)--列表进阶话题—>列表解析/列表生成器

    是的,我是想到什么知识点就说什么,没有固定的主题,我的标题都是在写完博客再给的.本篇博文说说列表进阶话题.其实列表应该是比较熟悉的了,而毫不夸张的说,在实际的开发中,列表也是使用的最多的,以后你会体会 ...

  9. Python内置数据结构--列表

    本节内容: 列表 元组 字符串 集合 字典 本节先介绍列表. 一.列表 一种容器类型.列表可以包含任何种类的对象,比如说数字.子串.嵌套其他列表.嵌套元组. 任意对象的有序集合,通过索引访问其中的元素 ...

  10. python之路---04 列表 元组

    十七 .列表 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 1.列表存在索引和切片. 和字符串是一样的. 2.增删改查操作 1).增加 1. .append(&quo ...

随机推荐

  1. Git: remote: The project you were looking for could not be found.

    解决方案 最简单的是在电脑的用户凭证中修改,改为正确的结果. 特殊情况 既只对改项目配置,不影响全局 命令如下: 克隆 git clone http://username:password@xxx.c ...

  2. wget: 未找到命令

    输入以下命令: yum -y install wget

  3. Vue报错:Invalid handler for event "changeUI": got undefined

    解决方案 错误代码如下所示: <router-view @hideBox="hideLoginRegisterBox" @changeUI="changeLogin ...

  4. 部署ELK+filebeat收集nginx日志

    前言 简介 ELK(Elasticsearch.Logstash.Kibana)是开源的实时日志收集分析解决方案. Elasticsearch:开源搜索引擎,是一个基于Lucene.分布式.通过Res ...

  5. jmeter:内存溢出解决办法

    使用jmeter执行性能测试,报错:java.lang.OutOfMemoryError: Java heap space 需要对jmeter的jvm进行调优.记录如下: 1. 问题记录及分析: 使用 ...

  6. DAY001_二进制运算

    左移和右移 无符号左移? Java没有无符号左移 无符号右移 左边补0 有符号右移 左边用原符号位补位 即正数补0效果同无符号右移.负数补1 有符号左移 右边补0 import org.junit.T ...

  7. 知识图谱(Knowledge Graph)- Neo4j 5.10.0 使用 - Java SpringBoot 操作 Neo4j

    上一篇使用了 CQL 实现了太极拳传承谱,这次使用JAVA SpringBoot 实现,只演示获取信息,源码连接在文章最后 三要素 在知识图谱中,通过三元组 <实体 × 关系 × 属性> ...

  8. Redis从入门到放弃(11):雪崩、击穿、穿透

    1.前言 Redis作为一款高性能的缓存数据库,为许多应用提供了快速的数据访问和存储能力.然而,在使用Redis时,我们不可避免地会面对一些常见的问题,如缓存雪崩.缓存穿透和缓存击穿.本文将深入探讨这 ...

  9. 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) $,问最少删除几个线段,使得剩下线段中,有至少一个线段与所有线段相交. 分析 对 ...

  10. VulnStack - ATT&CK红队评估实战(一) Writeup

    VulnStack - ATT&CK红队评估实战(一) Writeup VulnStack(一)环境搭建 项目地址 http://vulnstack.qiyuanxuetang.net/vul ...