如何在循环中指定未知大小的列表

时间:2019-10-02 14:24:54

标签: python

我有一些代码据说可以提取最大数量的整数列表。如果列表的大小未知,则可能是5个数字或30个数字,如何在if循环中指定呢?

f = 3,2,5,9,13,1,...
for loop in (f):
    x = f[0]
    if(x < f[0] or x < f[1] or x < f[2] or x < f[3] or x < f[4] or x < f[5] or ...):
        x = f[0+1]

5 个答案:

答案 0 :(得分:2)

您要使用的是max。随附可迭代的max将返回具有最大价值的项目。

>>> f = 3,2,5,9,13,1
>>> max(f)
13

答案 1 :(得分:2)

我不确定您的误解是什么。

您需要跟踪最大的:

largest = f[0]
for loop in f:
    if loop > largest:
        largest = loop

有一个很好的内置函数max,它非常灵活。

答案 2 :(得分:0)

您不必指定大小。只需对列表进行排序即可获得最后的最大数字,如下所示。

f.sort()
print("Largest number is:", f[-1])

希望有帮助。

谢谢。

答案 3 :(得分:0)

如果您想最大程度地发挥功能,

def get_max(int_list):
    best_max = False
    for value in int_list:
        if best_max == False or best_max < value:
            best_max = value
    return best_max


int_list = [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print ( get_max(int_list) )

如果数组为空,您会看到它返回False。
为什么不使用max(f)函数?

答案 4 :(得分:-1)

我认为您正在尝试定义某种排序算法?您想将列表中的条目与列表中的所有先前条目进行比较,对吗?您可以使用 if cell.hyperlink is not None: newCell.hyperlink = copy(cell.hyperlink) 来对列表进行子集化,并与之进行比较:

list.index()

您将发现,如果条件的计算结果为f = 3,2,5,9,13,1,... for loop in (f): listy= f[0:f.index(loop)] # subset list up to current element # loop is not a reserved word, but # I still wouldn't use it in this sense for y in listy: # iterate through subset if loop < y: # check conditional loop = f[f.index(loop)+1] # move up one element in the list ,此处的输出将替换列表中的下一个元素。它不会向前推进。使用提供的True,它会以f结尾,因为列表是在原位进行修改。您需要输入更多列表,然后从那里开始。