Python 查找嵌套列表及其索引的最小值
我有一个嵌套列表,其中既包含None元素,也包含整数。看起来很像这样:Python 查找嵌套列表及其索引的最小值,python,list,min,Python,List,Min,我有一个嵌套列表,其中既包含None元素,也包含整数。看起来很像这样: aList = [[None, 8.0, 1.0], [2.0, 3.0], [9.0], [5.0, None, 4.0]] 无元素不遵循任何特定模式,因此可以在列表中的任何位置找到。我想得到两样东西: 所有整数中的最小值 完全定义此最小值位置的索引。换句话说,这两个数字(i,j)满足: aList[i][j] = minimum 您可以使用以下选项: aList = [[None, 8.0, 1.0], [2.0,
aList = [[None, 8.0, 1.0], [2.0, 3.0], [9.0], [5.0, None, 4.0]]
无元素不遵循任何特定模式,因此可以在列表中的任何位置找到。我想得到两样东西:
aList[i][j] = minimum
aList = [[None, 8.0, 1.0], [2.0, 3.0], [9.0], [5.0, None, 4.0]]
minimum = sys.maxsize
i_min, j_min = 0, 0
for i, a in enumerate(aList):
for j, b in enumerate(a):
if b and b < minimum:
i_min, j_min, minimum = i, j, b
print(minimum, i_min, j_min)
# 1.0 0 2
print(aList[i_min][j_min] == minimum)
# True
aList=[[None,8.0,1.0],[2.0,3.0],[9.0],[5.0,None,4.0]]
最小值=sys.maxsize
i_min,j_min=0,0
对于i,枚举中的a(列表):
对于枚举(a)中的j,b:
如果b和b<最小值:
i_min,j_min,最小值=i,j,b
打印(最小值、i_min、j_min)
# 1.0 0 2
打印(列表[i_min][j_min]==最小值)
#真的
这是一种可能的解决方案:
import sys
aList = [[None, 8.0, 1.0], [2.0, 3.0], [9.0], [5.0, None, 4.0]]
mininum = sys.maxsize
for j, ele in enumerate(aList):
cur_min = min(float(i) for i in ele if i is not None)
if cur_min < mininum:
minimum = cur_min
pos_index = ele.index(minimum)
list_index = j
print(aList[list_index][pos_index])
导入系统
aList=[[None,8.0,1.0],[2.0,3.0],[9.0],[5.0,None,4.0]]
mininum=sys.maxsize
对于j,枚举中的ele(列表):
cur_min=min(如果i不是无,则元素中i的浮动(i))
如果当前最小值<最小值:
最小值=电流最小值
位置索引=元件索引(最小值)
列表索引=j
打印(列表[列表索引][位置索引])