【发布时间】:2019-08-28 12:23:35
【问题描述】:
我制作了一个函数,它以 2d 元素列表(包含具有 2 个元素的列表)作为参数,并返回元素差异最大的元素(或多个元素)和元素差异最大的元素(或更多)是最小的。例如,给定一个参数 ([2,8],[3,4],[2,7],[4,10]),函数将返回:max=([2,8], [4,10 ]), min=[3,4].
我已经创建了一个函数,但是代码相当大,我没有添加我填充列表的部分作为参数传递给用户输入,我也想做。
def maxminIntervals(lst):
mx=lst[0][1]-lst[0][0]
mn=mx
count_max=count_min=0
max=[]
min=[]
print(max,min)
print(mx,mn)
for element in lst:
y=element[1]-element[0]
if y>mx:
max=[]
max.append(element)
count_max=0
mx=y
elif y==mx:
max.append(element)
mx=y
count_max+=1
if y<mn:
min=[]
min.append(element)
count_min=0
mn=y
elif y==mn:
min.append(element)
mn=y
count_min+=1
print(y)
print("Max=",end='')
if count_max>0:
print("(",end=" ")
for i in max:
print(i,end=' ')
if count_max>0:
print(")",end=" ")
print("\n")
print("Min=",end=' ')
if count_min>0:
print("(",end=" ")
for i in min:
print(i,end=' ')
if count_min>0:
print(")",end=" ")
在我看来,代码对于 Python 来说太大了。有没有简单的快捷方式(内置函数等)让它更短?
【问题讨论】:
标签: python arrays list max min