python列表切片习题(一)

简介: python列表切片习题(一)

Python中的切片知识

       在Python中,切片(slice)是对序列型对象(如list, string, tuple)的一种高级索引方法。 普通索引只取出序列中 一个下标 对应的元素,而切片取出序列中 一个范围 对应的元素,这里的范围不是狭义上的连续片段。通俗一点就是在一定范围里面.用刀切出一部分,达到自己需要的一部分.


python字符串切片及常用的方法

  1. 切片的定义

        用于处理列表的部分元素,Python称之为切片

       结构: [start:end:step]    不指定step(步长)时,默认step(步长)为1

       一般是不加步长,即取一段连续的索引

       对于step:

(1)当step为负数时,即取反

    a = 'ABCDE'
    print(a[::-1])
    print(a[::-2])

EDCBA

ECA

       可以看到,步长为-1则是取反且取得是一段连续的索引,而为-2的时候,则是取反的同时按照步长去取索引值


(2)step为正数时,则按照从左到右的顺序按步长取值

       即步长的符号决定了取值的方向,为正则从左往右取,为负则从右往左取,其值决定了取那些数据

       对于

    a = 'ABCDE'
    print(a[0:6:-1])

       其输出的是空,原因就在于其取值方向,负数代表从右往左取值,而对于切片是索引0-6,而取值是按照从右往左取值,0的左边没有值,所以取得就是空的

       要想有取值,这时我们切片的方向也应该是从右往左,即


    a = 'ABCDE'
    print(a[-1:-6:-1])
    print(a[6:0:-1])

EDCBA

EDCBA


       切片的起点和终点已经决定了其排列的顺序,对于0-6,其排列就是ABCDE,对于-1到-6(或者6到0)其排列就是EDCBA,而步长及其符合只是决定了最终取值的顺序和内容,并不会改变其排列的顺序,所以这也就是为什么print(a[0:6:-1])输出的是空的原因。


切片案例

编写程序。新建一个空列表哦,向其中添加10名同学的成绩(百分制)。

显示此列表中所有成绩的最高成绩,最低成绩,平均成绩。


将列表降序排序后,使用切片显示前三名成绩,后三名的成绩,排在第3名到第5名成绩;


使用切片在列表首部插入一个100分,在尾部追加一个0分;


使用切片将此时的列表的后五个数全部替换为60;


使用切片删除倒数第1,3,5三个数;


最后显示所有的成绩。


代码案例

list=[]#建立空列表
for i in range(1,11,1):
    cj=int(input("请输入成绩"))
    list.append(cj)
list.sort(reverse=1)#列表排序
print("最高成绩",list[0])#输出最高成绩
print("最低成绩",list[9])#输出最低成绩
m=sum(list)
print("平均成绩",m/10)#输出平均成绩
print("前三名成绩",list[0:3:1])#输出前三名成绩
print("排在第3名到第5名成绩",list[2:5:1])#输出排在第3名到第5名成绩
print("后三名成绩",list[7:10:1])#输出后三名成绩
list[:0]=[100]#在首部插入100分
list[11:]=[0]#在尾部追加一个0分
list[7:]=[60,60,60,60,60]#替换列表后5个数为60
del list[11:12]#删除倒数第一个数
del list[9:10]#删除倒数第三个数
del list[7:8]#删除倒数第五个数
print(list)

运行结果如下

2.png


相关文章
|
8天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
22 14
|
10天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
27 10
|
27天前
|
数据处理 开发者 Python
Python中的列表推导式:简洁高效的数据处理
在编程世界中,效率和可读性是代码的两大支柱。Python语言以其独特的简洁性和强大的表达力,为开发者提供了众多优雅的解决方案,其中列表推导式便是一个闪耀的例子。本文将深入探讨列表推导式的使用场景、语法结构及其背后的执行逻辑,带你领略这一特性的魅力所在。
|
1月前
|
开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第41天】 在编程的世界中,效率与简洁是永恒的追求。本文将深入探讨Python编程语言中一个独特且强大的特性——列表推导式(List Comprehension)。我们将通过实际代码示例,展示如何利用这一工具简化代码、提升性能,并解决常见编程问题。无论你是初学者还是资深开发者,掌握列表推导式都将使你的Python之旅更加顺畅。
|
1月前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
|
28天前
|
JavaScript 前端开发 算法
python中的列表生成式和生成器
欢迎来到瑞雨溪的博客,这里是一位热爱JavaScript和Vue的大一学生的天地。通过自学前端技术2年半,现正向全栈开发迈进。如果你从我的文章中受益,欢迎关注,我将持续更新高质量内容,你的支持是我前进的动力!🎉🎉🎉
23 0
|
1月前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
20 0
|
1月前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
16 0
|
1月前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
19 0
|
1月前
|
C语言 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第24天】在Python编程的世界中,追求代码的简洁性和可读性是永恒的主题。列表推导式(List Comprehensions)作为Python语言的一个特色功能,提供了一种优雅且高效的方法来创建和处理列表。本文将深入探讨列表推导式的使用场景、语法结构以及如何通过它简化日常编程任务。