繁体   English   中英

如果最大的数字在同一个列表中多次出现,我如何将它们全部打印出来?

[英]If the largest number occurs more than once in the same list, how do I print them all out?

这是我的程序,

empty_list = []
max_no = 0
for i in range(5):
    input_no = int(input("Enter a number: "))
    empty_list.append(input_no)
for x in empty_list:
    if x > max_no:
       max_no = x
high = empty_list.index(max_no)
print ([empty_list[high]])

示例列表: [4, 3, 6, 9, 9]

示例 output: [9]

如何更改我的程序以打印出同一列表中出现的最大数量的所有实例?

预期 output: [9, 9]

为了找到最大的数,可以使用 Python 内置 function max()

max_no = max(empty_list)

为了计算它们,您可以使用count()方法,如下所示:

count_no = empty.count(max_no)

您可以存储该数字的最大数量和出现次数。

empty_list = []
max_no = 0
times = 0
for i in range(5):
    input_no = int(input("Enter a number: "))
    empty_list.append(input_no)
for x in empty_list:
    if x > max_no:
       max_no = x
       times = 1;
    elif x == max_no:
        times += 1
print([max_no] * times)

演示

你在问,给定一个整数列表,你想要一个 function
返回具有最大 integer N 次的列表,其中 N 是
给定列表中的出现次数。

def foo(lst):
    r = max(lst) # find maximum integer in the list
    d = lst.count(r) # find how many times it occurs in the list
    return [r for i in range(d)] # create a list with the max int N number of times.
    
lst = [1,1,1,1,5,5,9]
print(foo(lst)) # prints [9]

lst = [1,1,1,1,5,5]
print(foo(lst)) # prints [5,5]

lst = [4, 3, 6, 9, 9]
print(foo(lst)) # prints [9,9]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM