gpt4 book ai didi

python - 求嵌套列表的总和和最小值

转载 作者:行者123 更新时间:2023-12-02 01:31:08 36 4
gpt4 key购买 nike

同时具有 int 元素和 list 元素的 list 时我们如何计算。

def minelementNested(list):
minele = list[0]
sumele = 0
count = 0
for i in list1:
if type(i) is int:
sumele = sumele+i
if i < minele:
minele = i
count = count +1
else:
sumele += sum(i)
count = count + len(i)
else_min = min(i)
if else_min < minele:
minele = else_min
avg = sumele/count
print(avg)
return minele

list1 = [23,24,[10,11,12],56,85,[34,45,6]]
minelementNested(list1)

还有其他方法可以做到这一点吗?或者我们可以将单个 int 元素转换为列表并继续列表理解。请提出建议。

谢谢。

最佳答案

如果您只需要担心一层嵌套列表,则可以将其作为单行代码来执行,将嵌套列表标准化为整数列表的二维列表,然后将其解压到嵌套生成器中:

>>> nums = [23,24,[10,11,12],56,85,[34,45,6]]
>>> min(n for i in nums for n in (i if isinstance(i, list) else [i]))
6

如果您有任意级别的嵌套,请使用递归函数:

>>> def nested_min(arr):
... if isinstance(arr, int):
... return arr
... return min(nested_min(i) for i in arr)
...
>>> nested_min(nums)
6
>>> nested_min([10, 11, 12, [[1, 2], 3, 4], 5])
1

关于python - 求嵌套列表的总和和最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73251855/

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