微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

这是我的程序,

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]

示例输出[9]

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

预期输出[9,9]

解决方法

为了找到最大的数,可以使用Python内置函数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)

Demo

,

你问,给定一个整数列表,你想要一个函数
返回具有最大整数 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,5,9]
print(foo(lst)) # prints [9]

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。