使用for循环的Python切片行为

时间:2019-08-06 16:12:17

标签: python pandas

我正在尝试使用for循环从数据框中的条目创建序列,但是我很难获取数据框中的最后一个元素。

.classname{
      position: -webkit-sticky;
    }

我希望将7包含在列表b中。我意识到当i = 0时,a.values提供了一个空数组,但是我不确定如何解决此问题,因为我无法如上所述将i迭代为空白。

3 个答案:

答案 0 :(得分:1)

为什么不将负索引手动转换为正索引?

for i in range(0, len(a)):
    b.append(a.values[(len(a) - (i+1) - 1):(len(a) - i)])

之所以有用,是因为python不在乎切片中的上限,只要下限在范围之内即可。

但是,如果您只是想反转列表(看起来像是在尝试这么做),您是否考虑过b = reversed(a)

答案 1 :(得分:0)

  

我希望将7包含在列表b

import pandas as pd a = pd.DataFrame([0,1,2,3,4,5,6,7])

b = [] for i in range(0, len(a)): b.append(a.iloc[i])

或,单线b = [a.iloc[i] for i in range(0, len(a))]

答案 2 :(得分:0)

这将删除空白,并在列表中包括7:

for i in range(0,len(a)): b.append(a.values[-i-1])