在Python中按固定的十进制增量插值整数列表

时间:2014-09-10 20:16:13

标签: list python-3.x floating-point

我想从整数列表中创建一个插值小数列表。我写的代码给了我正在寻找的结果,但它看起来非常麻烦:

integer_list = [288, 289, 290]
increment = 0.1
increment_list = [i * increment for i in range(10)]
interpolated_list = []

for integer in integer_list:
    for decimal in increment_list:
        interpolated_list.append(integer + decimal)

final_list = [number for number in interpolated_list if number <= integer_list[-1]]

必须有一种更简洁/有效的方法来解决这个问题。

1 个答案:

答案 0 :(得分:0)

如果你想要简洁,那么它就足够简单了:

nums = [1, 2, 3]
interp = [num + (dec / 10.) 
          for num in nums
          for dec in range(10)
          if num + (dec / 10.) <= max(nums)]

由您决定是否比更明确的循环更清楚。