首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在包含整数列表中找到最小的子列表

如何在包含整数列表中找到最小的子列表
EN

Stack Overflow用户
提问于 2020-11-20 16:10:39
回答 1查看 87关注 0票数 1

基本上,我有一个大小为N的板(比方说4),其中最大的元素也是N。我需要找到每一行中最小列表的长度,如下面的示例所示:row = [[1, 2, 4], [1, 2, 4], 3, [1, 2]]应该返回1,2的长度和该子列表的索引,但它返回一个错误,因为3在它之前

我写了这篇文章

代码语言:javascript
复制
def full(puzzle):
    min = 0
    for i in range(len(puzzle)):
           for j in range(1 ,len(puzzle)):
               if isinstance(puzzle[i][j] , list):
                   if len(puzzle[i][j-1]) < len(puzzle[i][j]):
                       min = len(puzzle[i][j-1])
                       pos = (i , j-1)
    return pos

但是当j-1不是列表时,代码就不起作用了。我怎么做才能使函数将puzzlei的长度与j-2进行比较(如果j-1和j-2也不是列表,则为3)。

edit:因为row在板中,所以我希望代码同时返回行和列的索引。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-20 17:01:18

尝试使用min的键属性,如下所示

代码语言:javascript
复制
row = [[1, 2, 4], [1, 2, 4], 3, [1, 2]]
def func(item):
    return len(item) if type(item)==list else 999
sublist=min(row,key=func)
print('index of smallest list=',row.index(sublist))
print('length of smallest list=',len(sublist))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64925891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档