gpt4 book ai didi

python - 如何从列表的索引值中减去最小值?

转载 作者:太空宇宙 更新时间:2023-11-03 20:59:17 26 4
gpt4 key购买 nike

所以我现在有一个列表,以及一个元组,我想减去列表/元组中每个值的计算最小值。我使用 enumerate() 设置计数器,但我不确定这是否是最好的方法。我所知道的是我不能直接从列表中减去列表。所以任何帮助都会很棒,抱歉我是新手。

我尝试过 map() 将函数应用于每个可迭代

map(set(tuple) - set(最小值))

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 = 元组 - 最小值

理论上1、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()

最佳答案

您可以使用列表理解:

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

但是,字体让它有点难看。也许,如果数据总是看起来像 [ "str", float, float, float, ...] 你可以这样做:

data = list(data)
minimum = min(data[1:])
l = data[:1] + [x - minimum for x in data[1:]] #leave data[0] as it is, but substract minimum from each x of data[1:]

关于python - 如何从列表的索引值中减去最小值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55807792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com