Skip to main content
 首页 » 编程设计

python之使用先前列表的值更改创建一个新列表

2025年05月04日21bhlsheji

例如,我有一个带有 float 的列表

numbers = [1000.45,1002.98,1005.099,1007.987] 

我想创建一个新列表,其中包含数字值的增量 - 即我希望 numbers[0]、[numbers[1] 之间的差值成为新列表中的第一个值。所以我新列表中的第一个数字应该是 2.53,第二个应该是 2.119,依此类推。

我尝试了列表理解

newnumbers= [i[-1] - i[-2] for i in numbers] 

但它给出了一个 TypeError

TypeError: 'float' object is not subscriptable 

我尝试将列表转换为整数,但它给出了相同类型的错误。

如何创建我想要的列表?

请您参考如下方法:

使用 Pandas 很容易,使用 diff():

import pandas as pd 
 
pd.Series(numbers).diff() 
 
0      NaN 
1    2.530 
2    2.119 
3    2.888 
dtype: float64