Python 生成并切片反向列表

Python 生成并切片反向列表,python,list,reverse,Python,List,Reverse,这可能是愚蠢和基本的,但如何获取列表edcba 当我尝试时: import string letters = string.ascii_lowercase letters[4:0:-1] “edcb” 这在某种程度上是有意义的,因为索引是[4,3,2,1]。但是,使用-1会产生以下结果: letters[4:-1:-1] '' 我知道我可以做”。加入(颠倒(字母[:5])或使用列表理解,但我很好奇如何使用否定步骤 字母[4:1],基本上是字母[4:None:-1] 用这种方式思考切片: [e

这可能是愚蠢和基本的,但如何获取列表
edcba

当我尝试时:

import string
letters = string.ascii_lowercase
letters[4:0:-1]
“edcb”

这在某种程度上是有意义的,因为索引是[4,3,2,1]。但是,使用
-1
会产生以下结果:

letters[4:-1:-1]
''


我知道我可以做
”。加入(颠倒(字母[:5])
或使用列表理解,但我很好奇如何使用否定步骤

字母[4:1]
,基本上是
字母[4:None:-1]

用这种方式思考
切片

[element to start at: 
 element to start excluding: 
 steps]
因此,通过在切片的第二部分中不明确说明
0
,您告诉解释器从索引
4
开始,然后执行步骤
-1
,直到找不到任何元素


另一种可视化的方法是,如果你想向前做,并且想要
“vwxyz”
,你就不会使用
字母[21:25:1]
,而只使用
字母[21::
,它可以翻译成
字母[21:None:1]
字母[4::-1]
,基本上就是
字母[4:None:-1]

import string
letters = string.ascii_lowercase
lent = len(letters)
data = []
for l in range(1,lent):
    total = lent - int(l)
    data.append(letters[total])
data.append(letters[0])
print(data)
用这种方式思考
切片

[element to start at: 
 element to start excluding: 
 steps]
因此,通过在切片的第二部分中不明确说明
0
,您告诉解释器从索引
4
开始,然后执行步骤
-1
,直到找不到任何元素

另一种可视化的方法是,如果您要向前执行此操作并想要
“vwxyz”
,则不会使用
字母[21:25:1]
,而只使用
字母[21:://code>,它会转换为
字母[21:None:1]

import string
letters = string.ascii_lowercase
lent = len(letters)
data = []
for l in range(1,lent):
    total = lent - int(l)
    data.append(letters[total])
data.append(letters[0])
print(data)
结果意外得到一个空字符串的原因是,您要求通过
-1
的步骤,从索引
4
,直到到达字符串的末尾(
-1

在此上下文中,索引
-1
相当于索引
25
,因此基本上您已经完成了
字母[4:25:-1]
——只要python尝试评估切片中的第一项,它就完成了,因为您已经超出了边界。具有正增量的同一类表达式将是
字母[5:4]
——它在开始之前就完成了

结果意外得到一个空字符串的原因是,您要求通过
-1
的步骤,从索引
4
,直到到达字符串的末尾(
-1


在此上下文中,索引
-1
相当于索引
25
,因此基本上您已经完成了
字母[4:25:-1]
——只要python尝试评估切片中的第一项,它就完成了,因为您已经超出了边界。带正增量的同一类表达式是
字母[5:4]
——在开始之前就完成了。

老实说,听起来像是X-Y问题……可能是抱歉的重复!什么是X-Y问题?我之所以不重复,是因为另一个问题只是关于反转列表,我试图同时反转和切片。我使用了两个概念,它们各自起作用,但一起给了我一个意想不到的结果。这听起来像是一个X-Y问题,老实说…可能重复的对不起!什么是X-Y问题?我之所以不重复,是因为另一个问题只是关于反转列表,我试图同时反转和切片。我使用了两个概念,它们各自起作用,但一起给了我一个意想不到的结果。虽然这可能回答了作者的问题,但它缺少一些解释性的词语和/或文档链接。如果没有一些短语,原始代码片段就没有多大帮助。你也会发现这很有帮助。请编辑您的答案-谢谢您的建议虽然这可能会回答作者的问题,但它缺少一些解释性的词语和/或文档链接。如果没有一些短语,原始代码片段就没有多大帮助。你也会发现这很有帮助。请编辑您的答案-谢谢您的建议