Python列表特定片段反转切片返回空列表问题求解
Python列表切片反转特定部分的问题解决
你用a[1:4:-1]得到空列表的原因是切片步长为负数时,起始索引必须大于结束索引。
Python切片的语法是list[start:stop:step]:
- 当
step为正数,切片从start开始,向列表末尾方向取到stop(不包含); - 当
step为负数,切片从start开始,向列表开头方向取到stop(不包含)。
你想获取的是索引1、2、3对应的元素22,33,44的反转结果,正确写法有两种:
- 直接调整起始和结束索引,让
start大于stop:a = [11,22,33,44,55,66,77,88] result = a[3:0:-1] # 从索引3开始,取到索引1(stop=0不包含),步长-1 print(result) # 输出 [44,33,22] - 先切出目标区间再反转,逻辑更直观:
a = [11,22,33,44,55,66,77,88] result = a[1:4][::-1] # 先取a[1:4]得到[22,33,44],再整体反转 print(result) # 输出 [44,33,22]
内容的提问来源于stack exchange,提问作者Mathew S
相关产品推荐
相关产品推荐

