python题,已知l=[1,2,3,4],那么l[-4::-1]等于什么

问题描述

python题,已知l=[1,2,3,4],那么l[-4::-1]等于什么

我们知道python列表有一个很神奇的功能list[::-1]是能将列表中的元素取相反的顺序,于是乎我对这个-1产生了很大得疑惑.同样已知l=[1,2,3,4],按照逻辑l[1:3:-1]是等于l[1:3][::-1],可是我得到的却是一个空的列表.同样l[-4::-1]应当和l[::-1]得到同样的结果,可是却得到了[1].我使用的python版本为3.4.3,如有高手能为我解决这个疑惑,在下感激不尽.

解决方案

切片永远向右看
-1只决定排序方向
print range(1, 101)[-4::-1]

print range(1, 101)[:-4:-1]

print range(1, 101)[4::-1]
看看这三个结果

解决方案二:

首先你看到了-1这代表着从相反方向取值,然后看-4代表着是从后往前的第四个元素开始的,也就是4.如果是-1就是4.你也可以这样理解正方向
第一个数的索引是0;负方向第一个数的索引是-1,不可能是-0,这样就没有意义了。所以-4就代表着方向开始的第4个数。

解决方案三:

-1相当于4,-2相当于3,所以-4就是1

解决方案四:

I[-4:-1]=[1,2,3,4]

解决方案五:

恩 我懂了 l[::-1] 使列表反向排列 l[-4::-1]表示l列表中除去l[-4:]的其它元素的反向排列 l[:4:-1]表示除去l[:4]和l[4]的其它元素的反向排列

l[3:5:-1]或者[-5:-3:-1]之所以得到空列表是因为使用l[3:5] l[-5:-3]切片得到的结果是一个列表的两段数据 二者没有可比性 所以为空

时间: 2024-11-26 15:56:42

python题,已知l=[1,2,3,4],那么l[-4::-1]等于什么的相关文章

c++-算法题。已知两个平行四边形各自的四个点,求这两个平行四边形是否有交集!用代码如何实现?

问题描述 算法题.已知两个平行四边形各自的四个点,求这两个平行四边形是否有交集!用代码如何实现? 算法题.已知两个平行四边形各自的四个点,求这两个平行四边形是否有交集!用代码如何实现? 解决方案 计算角度有点复杂,或许可以考虑判断点在两对平行线之间.判断点位于一对平行线之间(一条线上,一条线下):将点代入一对平行线方程,判断L1(x,y)*L2(x,y)<=0. 解决方案二: 如果两个平行四边形相交,那么一个四边形中必然有一个顶点位于令一个四边形的内部. 而判断一个点P是否在一个平行四边形ABC

算法研究:已知不重复的int集合,求最长递增子序列

问题背景:最近换工作面试,面试官问了一道编程题,大体是已知不重复的int集合,求最长递增子集合,这个集合可以不是连续的,但顺序呢不能乱. 比如说:{2, 7, 3, 13, 6, 8}里最长递增子集合的就是{2,3,6,8}. 这道题感觉很有意思,于是回家就用代码实现了一遍. 主要代码: package com.galaxy.fym.algorithm.maxsublist; import org.apache.commons.collections.CollectionUtils; impor

已知一棵树的前序序列为ABCDEF,后序序列为CEDFBA,则对该树进行层次遍历得到的序列为?

问题描述 已知一棵树的前序序列为ABCDEF,后序序列为CEDFBA,则对该树进行层次遍历得到的序列为? 遇见已知先序后序这类问题如何解决?感觉没有中序很难0.0求大神~! 解决方案 http://www.docin.com/p-633991719.html abcdfe 解决方案二: 这道题和一般题,有一点不一样,一般来说必须要有中序遍历+前序遍历或者后序遍历,这样才能确定唯一的根和,左右子树的未知, 但是这道题直接给的前后序列.....所以无法确定左右子树,,,,,我也很想知道分析方法..

[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)

原文:[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不殆) [推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆)       继上三篇:ORACLE PL/SQL编程之八:把触发器说透               ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)               [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)  得到了大家的强力支持与建议,万分感谢.

Django 博客开发教程 13 - 已知小问题修正

在模型中指定排序 为了让文章(Post)按发布时间逆序排列,即最新发表的文章排在文章列表的最前面,我们对返回的文章列表进行了排序,即各个视图函数中都有类似于 Post.objects.all().order_by('-created_time') 这样的代码,这导致了很多重复.因为只要是返回的文章列表,基本都是逆序排列的,因此我们可以在 Post 模型中指定 Post 的自然排序方式. Django 允许我们在 models.Model 的子类里定义一个 Meta 的内部类,这个内部类通过指定一

正态分布-c#已知方差和均值,求随机数

问题描述 c#已知方差和均值,求随机数 如题. 我已经获得了原始数据的方差和均值. 怎样才能用c#生成另一些满足这个方差和均值且服从正太分布的随机数呢? 谢谢各位了. 解决方案 http://blog.sina.com.cn/s/blog_65273bfa01013wdh.html 先生成正态分布的随机数,,然后通过每个数乘一个常数a,加上另一个常数b,把均值移动到a,把方差扩展到b

如何用SQL语句来判断已知表是否存在

如何判断库中已知表是否存在今日受人之托,帮他解决这个问题,代码为通常的引用Dao做的一模块: Function fExistTable(strTableName As String) As IntegerDim db As DatabaseDim i As Integer Set db = DBEngine.Workspaces(0).Databases(0) fExistTable = False db.TableDefs.Refresh For i = 0 To db.TableDefs.C

百度地图 js 通过IP定位城市后,已知一个坐标集合,根据每个坐标添加标注点,求大神help me

问题描述 百度地图 js 通过IP定位城市后,已知一个坐标集合,根据每个坐标添加标注点,求大神help me var myCity = new BMap.LocalCity(); // 以当前IP定位到城市 myCity.get(myFun); // 根据IP对当前城市进行定位 function myFun(result){ var center = result.center; // 城市坐标中心点 var point = new BMap.Point(center.lng,center.la

NokiaS40和S60开发平台1.0已知问题(翻译)

问题 NokiaS40和S60开发平台1.0已知问题(翻译) 作者:陈跃峰 出自:http://blog.csdn.net/mailbomb   1.  Nokia3300不支MMA(声音处理)类库. 2.  Image.getGraphics()方法在不同的软件版本中工作不同,该方法无法在新版本的7650.3650和N-Gage中正常工作.即这些机器中无法实现双缓冲技术. 3.  Nokia7650.3650和N-Gage,无法控制背景灯和震动. 4.  同时播放声音在S60模拟器上可以运行,