通过列表列表中的索引计算最小值或最大值

吉米
list_of_elements = [1255, 1256, 1257, 1258, 1259]
print(components[1255],components[1256],components[1257],components[1258],components[1259])

打印输出为:

[481, 498, 5142, 5157] [481, 497, 5192, 5199] [481, 498, 5219, 5238] [481, 484, 5239, 5242] [481, 487, 5269, 5271)]

我想做的是获取第一个索引(0)的最小数量,第二个索引的最大数量,第二个索引的最小数量,第四个索引的最大数量,因此在这种情况下我将得出以下结论:

[481,498,5142,5271]

所以,再次,基本上,我将得到一个元素列表(在这种情况下list_of_elements,可能是0个值,直到未知),然后我必须将该列表的元素作为字典中的键输入,components并执行上述步骤。

pp

这是通过调度程序字典和几个列表推导来构造逻辑的一种方法:

list_of_elements = [1255, 1256, 1257, 1258, 1259]

# extract data via list comprehension
L = [components[i] for i in list_of_elements]

# defined explicitly for demonstration
L = [[481, 498, 5142, 5157], [481, 497, 5192, 5199],
     [481, 498, 5219, 5238], [481, 484, 5239, 5242],
     [481, 487, 5269, 5271]]

from operator import itemgetter

# define dispatcher dictionary
funcs = {0: min, 1: max}

# apply via list comprehension
res = [funcs[i%2](map(itemgetter(i), L)) for i in range(len(L[0]))]

print(res)

[481, 498, 5142, 5271]

说明

  • i%2 返回0或1,具体取决于您的索引是偶数还是奇数。
  • funcs[i%2]返回minmaxfuncs字典中定义
  • map(itemgetter(i), L)在中的i每个列表th元素上返回一个迭代器L
  • funcs[i%2]在此迭代器上应用将返回最小值或最大值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从 Python 中的列表列表中获取最小值和最大值的最快方法?

通过嵌套列表中元素的索引找到嵌套列表的最小值和最大值

Python中的列表推导,可计算列表的最小值和最大值

在Python中查找列表的最小值,最大值

列表集合中的最小值和最大值

交换列表中的最大值和最小值

在列表中获取最小值和最大值

元组列表中的最小值和最大值

通过Python在列表中的特定位置查找绝对最大值或最小值

在列表字典的每个索引处找到最小值和最大值

在列表列表中查找每个列表的最小值的索引

从元素列表中找到最大值/最小值

查找列表的最小值和最大值

从列表列表中获取包含最小值的列表

列表列表中每个列表的最小值

Python数据帧计算元素列表的最小值和最大值

使用 apply 计算向量列表的最大值和最小值

查找列表中每个嵌套列表的最小值和最大值

从 C 中的终端计算最小值/最大值

从列表列表中查找“n”个最小值及其索引

忽略列表中的 none 并在 python 中取最小值和最大值

从没有循环的dataFrames列表中获取最大值/最小值

如何获取列中列表的最大值和最小值?

从R中的数字列表中提取最大值和最小值

在不使用python中的函数或列表的情况下检查最小值最大值

如何使用Java 8从对象列表中获取最小值和最大值

R:在数据框中查找列列表的最大值/最小值

在Python的列表模式中查找最小值和最大值

在没有列表的python中查找最大值和最小值