python - 在Python中的列表中减去浮点值
问题描述
我试图得到它,所以我的列表从零开始,而不是它最初开始的大数字。为此,我必须从列表中的所有其他值中减去初始值。列表中的数字是浮点数和相当大的数字。我需要以某种方式从所有其他时间中减去初始时间。我在这里尝试了一些东西:
for index, time in enumerate(STARTTIME_MAX1):
time = time/60
#if time > 0:
# time = time - time[0]
time = time - time[0]
#time[:] = [time - time[0] for time in STARTTIME_MAX1]
STARTTIME_MAX1[index] = time
我也尝试过这种方式:
for time in STARTTIME_MAX1:
time = time/60
time = time-time[0]
print(time)
print(STARTTIME_MAX1)
并尝试了这个:
STARTTIME_MIN = [((i/60)-i[0]) for i in STARTTIME_MAX1]
但每次我得到一个错误:TypeError: 'float' object is not subscriptable
。
我需要将值保留为浮点数,以便它们更准确。STARTTIME_MAX1 只是一个测量开始时间的列表,我需要从列表中的所有值中减去第一个 starttime 值,以便它从零的初始时间开始并从那里继续。任何帮助将不胜感激!
解决方案
为简单起见,假设您有一个这样的列表:
a = [15, 16, 17, 19]
你想减去第一个值,15:
a = [0, 1, 2, 4]
要获得第一个元素,您可以使用a[0]
,然后您可以从包括自身在内的每个元素中减去它。在这里,我将使用带有完整切片赋值的理解。
initial = a[0]
a[:] = [x-initial for x in a]
# > a = [0, 1, 2, 4]
推荐阅读
- flutter - Back button flutter
- javascript - 创建一个返回三个数字的最高乘积的函数
- python - How to create a soundfile from fft-spectrum with Python?
- javascript - 需要算法或解决方案来检查多个范围是否重叠
- channel - 频道检查为空,即使它有内容
- flutter - Flutter 如何使用 Navigator.pop 从第二页发送数据
- oracle - 相同条件下 ODI 数据立方体大小与 Oracle 数据立方体大小的差异
- javascript - Google Sheets Script - 如何根据一组预定义的规则随机选择单元格
- javascript - 如何正确传递道具?
- javascript - 使用邮递员发送删除请求时出错