Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 查找嵌套列表及其索引的最小值_Python_List_Min - Fatal编程技术网

Python 查找嵌套列表及其索引的最小值

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,

我有一个嵌套列表,其中既包含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, 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 打印(列表[列表索引][位置索引])