列表的切片操作时对其中的单个或者多个索引对应元素的操作,具有如下特点:

①、切片区间是左闭右开区间

②、切片的下标可以表示负数,-1表示倒数第一个数,-2表示倒数第二个数

③、默认步长是1,可增加第三个参数改变步长

④、步长是-1可以实现倒序切片

⑤、步长为正时,首末缺省下标分别为0和n;步长为负时,首末缺省下标分别为-1,-n-1

例如:把123456789变成987654321

# py面试:把123456789变成987654321
# 考查切片知识,倒叙每一个数
a=[1,2,3,4,5,6,7,8,9]
b=a[::-1]
print(b)

输出:[9,8,7,6,5,4,3,2,1]

-1表示倒序,b=a[::-1]等同于b=a[-1::-1],输出也是[987654321]

1、取前三个元素:b=a[0:3],前面那个0可以省略

a=[1,2,3,4,5,6,7,8,9]
b=a[0:3]
print(b)

输出:[1,2,3]

2、取出第1到3个元素:b=a[1:3]

a=[1,2,3,4,5,6,7,8,9]
b=a[1:3]
print(b)

输出:[2,3]

3、b=a[-1]是取出a中最后一个元素,同样也支持倒数切片

a=[1,2,3,4,5,6,7,8,9]
b=a[-2:-1]
print(b)

输出:[8]

4、从第一个开始,每两个取一个

a=[1,2,3,4,5,6,7,8,9]
b=a[0:10:2]
print(b)

输出:[1,3,5,7,9]

5、直接复制一个list:b=a[:]

a=[1,2,3,4,5,6,7,8,9]
b=a[:]
a[0]=100
print(b)

输出:[1,2,3,4,5,6,7,8,9]

b=a不是真实的拷贝:

a=[1,2,3,4,5,6,7,8,9]
b=a
a[0]=100
print(b)

输出:[100, 2, 3, 4, 5, 6, 7, 8, 9]

6、切片除了操作list,也可以操作tuple和str

# 操作tuple
a=(1,2,3,4,5,6,7,8,9)
b=a[:3]
print(b)

输出:(1, 2, 3)

# 操作str
a=""
b=a[:3]
print(b)

输出:123

python:列表切片知识的总结的更多相关文章

  1. python 列表切片

    列表切片是python语言独有的特征,大大方便了我们的编码. 首先,在介绍切片之前,必须要知道一个知识,就是python列表的读写,下标可以使用负数. insert,get,set 操作均可传入负数下 ...

  2. Python 列表切片陷阱:引用、复制与深复制

    Python 列表的切片和赋值操作很基础,之前也遇到过一些坑,以为自己很懂了.但今天刷 Codewars 时发现了一个更大的坑,故在此记录. Python 列表赋值:复制"值"还是 ...

  3. python列表切片

    Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组. 格式:[start:end:step] start:起始索引,从0开始,-1表示结束 end:结束索引 step:步 ...

  4. Python列表切片详解([][:][::])

    Python切片是list的一项基本的功能,最近看到了一个程序,里面有这样一句类似的代码: a = list[::10] 1 不太明白两个冒号的意思就上网百度,发现大多数人写的博客中都没有提到这一个用 ...

  5. python 字符串切片知识巩固

    切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分).我们使用一对方括号.起始偏移量start.终止偏移量end 以及可选的步长step 来定义一个分片. 格式: [start:en ...

  6. python 列表切片之负数的含义代码示例

    a = list(range(10)) print(a[::]) #复制一个列表 print(a[::2]) #每隔2个取一次 print(a[::3]) #每隔3个取一次 print(a[::-1] ...

  7. python之列表切片(slice)

    使用索引获取列表的元素(随机读取) 列表元素支持用索引访问,正向索引从0开始 colors=["red","blue","green"] c ...

  8. python 输出所有大小写字母, range()以及列表切片

    所以在写的时候,只要把它们的ASCII列出,并转化成字符型chr 即可. print [chr(i) for i in range(65,91)]#所有大写字母 print [chr(i) for i ...

  9. Python列表的切片操作

    在Python列表中分片是一个很重要的操作,有以下几个注意的点: 切片时不包含最后一位,如下例子中,要取最后一位,从0开始算应该是到7就可以取,但是需要8才能取 2.      默认取值步长为1,即每 ...

随机推荐

  1. Linux——如何将Red Hat Enterprise Linux 6的语言改为中文?

    第一步,打开终端,输入su -,获取超级用户权限,输入密码. 第二步,输入cd /etc/sysconfig,进入设置目录. 第三步,输入vi i18n,进入到配置文件. 第四步,按 ‘i’键,进入编 ...

  2. SpringBoot2 整合ElasticJob框架,定制化管理流程

    本文源码:GitHub·点这里 || GitEE·点这里 一.ElasticJob简介 1.定时任务 在前面的文章中,说过QuartJob这个定时任务,被广泛应用的定时任务标准.但Quartz核心点在 ...

  3. cocoapods安装以及ZXingObjC的安装

    因为项目要用到第三方包ZXingObjC,需要安装cocoapods.下面是我曲折的安装过程. 1.直接在终端内输入: sudo gem install cocoapods 我直接安装成功. 由于国内 ...

  4. [NodeJS] async 和 await 的本质

    ​    绝大多数nodejs程序员都会使用 async 和 await 关键字,但是极少有人能真正弄明白 async 和 await 的原理.这篇文章将从零“构建”出 async 和 await 关 ...

  5. python字符串的常见操作

    find: 根据指定字符串获取对应的下标, 如果找不到对应的数据返回-1, 这里的-1表示没有找到数据 my_str = "hello" # find: 根据指定字符串获取对应的下 ...

  6. Design Patterns | 02 什么样的代码是好代码

    目录 01 - 什么是好的代码? 02 - 评价代码的标准有哪些 2.1 可维护性(maintainability) 2.2 可读性(readability) 2.3 可扩展性(extensibili ...

  7. 简单的scrapy命令和中间件

    创建爬虫 scrapy genspider 名字 xxx.com 运行爬虫 运行名为usnews的爬虫scrapy crawl usnews​运行爬虫文件scrapy runspider quote_ ...

  8. 轻装上阵Flink--在IDEA上开发基于Flink的实时数据流程序

    前言 本文介绍如何在IDEA上快速开发基于Flink框架的DataStream程序.先直接上手! 环境清单 案例是在win7运行.安装VirtualBox,在VirtualBox上安装Centos操作 ...

  9. (转)GNU风格ARM汇编语法指南(非常详细)2

    原文地址:http://zqwt.012.blog.163.com/blog/static/120446842010111481828392/ 2.GNU汇编程序中的标号symbol(或label) ...

  10. 杂谈 | 习得性无助&习得性乐观

    习得性无助和习得性乐观简述 这两个概念均出自积极心理学家Martin Seligman. “习得性无助”的提出是基于一项动物实验. 狗关在笼子里,只要蜂音器一响,就对狗施予电击,狗在笼子里无法躲避电击 ...