所以我现在有一个list
,还有一个tuple
,我想减去列表/元组中每个值的计算最小值。我使用enumerate()
设置了一个计数器,但是我不确定这是否是最好的方法。我所知道的是,我无法直接从列表中减去列表。因此,任何帮助都会很棒,对不起,我是新手。
我已经尝试map()
将函数应用于每个可迭代对象
map(set(tuple) - set(minimum))
original_list = [['str1',2.33,7.46, 0.499],['str2', 45.55,4.77,6.22]]
tuple = [1, ('str1', 7.46,9.37,9.54,9.03,10.7)]
[2, ('str2', 2.46,9.37,9.54,9.03,10.7)]
min():
columns = list(zip(*file))
minimum = [min(list(x for x in column[1:] if x is not None)) for column in
columns
# minimum = [7.46, 2.46]
从函数生成最小值的地方
a = tuple - minimum
理论上,在最小列表中,x1,x2,x3需要减去最小值7.46,然后2,x1,x2,x3需要减去2.46或min2。
换句话说,有没有办法我可以做这样的事情,但可以有另一个列表?
for i in range(len(tuple)):
tuple[i] -= corresponding minimum value from minimum()
答案 0 :(得分:0)
您可以使用列表理解:
final String REG_PATTERN_VALID_DECIMAL_NUMBER = "-?\\d+(?:\\.\\d+)?";
但是,类型的东西使它有点难看。也许,如果数据总是看起来像[“ str”,float,float,float ...],则可以执行以下操作:
data = ('str1', 7.46,9.37,9.54,9.03,10.7)
l = [x - min(data[1:]) if type(x) == float else x for x in data] #substract minimum from x if x is a float, else leave x as it is