减去 Python 列表中的浮点值
Subtracting floating point values in a list in 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 只是测量开始时间的列表,我需要从列表中的所有值中减去第一个开始时间值,以便它从零初始时间开始并从那里继续。
任何帮助将不胜感激!
当你除以 python 时,你会得到一个浮点数输出:
在您的代码和我的示例的这一行中:
time = time/60
10/2
>> 5.0
要解决此问题,您可以 A:
10//2
>> 5
//
只是 returns 小数点前的部分。
或者你可以做 B:
int(10/2)
>> 5
int()
将浮点数或字符串形式的 int 转换为整数
time
是您代码中的一个浮点数,它是 STARTTIME_MAX1
中的元素之一。而不是使用 time[0]
你可能想要 STARTTIME_MAX1[0]
.
并且请不要使用 time
作为变量名,如果您尝试使用 datetime.time
.
以后可能会给您带来麻烦
为简单起见,假设您有一个这样的列表:
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]
我正在尝试获取它,以便我的列表从零开始,而不是它最初开始的大数字。为此,我必须从列表中的所有其他值中减去初始值。列表中的数字是浮点数并且是相当大的数字。我需要以某种方式从所有其他时间中减去初始时间。我已经尝试了这里的一些东西:
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 只是测量开始时间的列表,我需要从列表中的所有值中减去第一个开始时间值,以便它从零初始时间开始并从那里继续。 任何帮助将不胜感激!
当你除以 python 时,你会得到一个浮点数输出: 在您的代码和我的示例的这一行中:
time = time/60
10/2
>> 5.0
要解决此问题,您可以 A:
10//2
>> 5
//
只是 returns 小数点前的部分。
或者你可以做 B:
int(10/2)
>> 5
int()
将浮点数或字符串形式的 int 转换为整数
time
是您代码中的一个浮点数,它是 STARTTIME_MAX1
中的元素之一。而不是使用 time[0]
你可能想要 STARTTIME_MAX1[0]
.
并且请不要使用 time
作为变量名,如果您尝试使用 datetime.time
.
为简单起见,假设您有一个这样的列表:
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]