How to find the largest number(s) in a list of elements, possibly non-unique?2019 Community Moderator...

pipe commands inside find -exec?

Someone scrambled my calling sign- who am I?

Why doesn't the chatan sign the ketubah?

Determine voltage drop over 10G resistors with cheap multimeter

Can "few" be used as a subject? If so, what is the rule?

What is the tangent at a sharp point on a curve?

Why is participating in the European Parliamentary elections used as a threat?

How do researchers send unsolicited emails asking for feedback on their works?

How can a new country break out from a developed country without war?

Exposing a company lying about themselves in a tightly knit industry: Is my career at risk on the long run?

Hot air balloons as primitive bombers

Justification failure in beamer enumerate list

Air travel with refrigerated insulin

Do people actually use the word "kaputt" in conversation?

What is it called when someone votes for an option that's not their first choice?

Have any astronauts/cosmonauts died in space?

Unfrosted light bulb

How can an organ that provides biological immortality be unable to regenerate?

What kind of footwear is suitable for walking in micro gravity environment?

When did hardware antialiasing start being available?

Print last inputted byte

Why is "la Gestapo" feminine?

Turning a hard to access nut?

What (if any) is the reason to buy in small local stores?



How to find the largest number(s) in a list of elements, possibly non-unique?



2019 Community Moderator ElectionHow do I check if a list is empty?Finding the index of an item given a list containing it in PythonWhat's the simplest way to print a Java array?How to insert an item into an array at a specific index (JavaScript)?Convert bytes to a string?How do I remove an element from a list by index in Python?How to make a flat list out of list of lists?How do I get the number of elements in a list in Python?How do I list all files of a directory?How do I remove a particular element from an array in JavaScript?












13















Here is my program,



item_no = []
max = 0
for i in range(5):
input_no = int(input("Enter an item number: "))
item_no.append(input_no)
for i in item_no:
if i > max:
max = i
high = item_no.index(max)
print (item_no[high])


Example input: [5, 6, 7, 8, 8]



Example output: 8



How can I change my program to output the same highest numbers in an array?



Expected output: [8, 8]










share|improve this question









New contributor




user11206537 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 2





    Band indent at line 8

    – DirtyBit
    17 hours ago






  • 1





    You can use Dictionary to store the maximum number and its count as item_no = {}, if you max is different then original in item_no, reinitialize it and add that item and add count =1

    – dkb
    17 hours ago








  • 2





    ("Band" probably is a misspelling for "Bad")

    – tripleee
    17 hours ago






  • 1





    @tripleee Indeed. bulls-eye!

    – DirtyBit
    17 hours ago











  • As answers show, it's more Pythonic to do it with list comprehensions, rather than loops. But if you use loops to iterate over the list, a style tip: don't use the same variable name i both for indices i in range(5) then also for items/values: for i in item_no. Better to do for no in item_no

    – smci
    8 mins ago


















13















Here is my program,



item_no = []
max = 0
for i in range(5):
input_no = int(input("Enter an item number: "))
item_no.append(input_no)
for i in item_no:
if i > max:
max = i
high = item_no.index(max)
print (item_no[high])


Example input: [5, 6, 7, 8, 8]



Example output: 8



How can I change my program to output the same highest numbers in an array?



Expected output: [8, 8]










share|improve this question









New contributor




user11206537 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 2





    Band indent at line 8

    – DirtyBit
    17 hours ago






  • 1





    You can use Dictionary to store the maximum number and its count as item_no = {}, if you max is different then original in item_no, reinitialize it and add that item and add count =1

    – dkb
    17 hours ago








  • 2





    ("Band" probably is a misspelling for "Bad")

    – tripleee
    17 hours ago






  • 1





    @tripleee Indeed. bulls-eye!

    – DirtyBit
    17 hours ago











  • As answers show, it's more Pythonic to do it with list comprehensions, rather than loops. But if you use loops to iterate over the list, a style tip: don't use the same variable name i both for indices i in range(5) then also for items/values: for i in item_no. Better to do for no in item_no

    – smci
    8 mins ago
















13












13








13


3






Here is my program,



item_no = []
max = 0
for i in range(5):
input_no = int(input("Enter an item number: "))
item_no.append(input_no)
for i in item_no:
if i > max:
max = i
high = item_no.index(max)
print (item_no[high])


Example input: [5, 6, 7, 8, 8]



Example output: 8



How can I change my program to output the same highest numbers in an array?



Expected output: [8, 8]










share|improve this question









New contributor




user11206537 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












Here is my program,



item_no = []
max = 0
for i in range(5):
input_no = int(input("Enter an item number: "))
item_no.append(input_no)
for i in item_no:
if i > max:
max = i
high = item_no.index(max)
print (item_no[high])


Example input: [5, 6, 7, 8, 8]



Example output: 8



How can I change my program to output the same highest numbers in an array?



Expected output: [8, 8]







python arrays python-3.x






share|improve this question









New contributor




user11206537 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




user11206537 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 5 mins ago









smci

15.4k677108




15.4k677108






New contributor




user11206537 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 17 hours ago









user11206537user11206537

7512




7512




New contributor




user11206537 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





user11206537 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






user11206537 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 2





    Band indent at line 8

    – DirtyBit
    17 hours ago






  • 1





    You can use Dictionary to store the maximum number and its count as item_no = {}, if you max is different then original in item_no, reinitialize it and add that item and add count =1

    – dkb
    17 hours ago








  • 2





    ("Band" probably is a misspelling for "Bad")

    – tripleee
    17 hours ago






  • 1





    @tripleee Indeed. bulls-eye!

    – DirtyBit
    17 hours ago











  • As answers show, it's more Pythonic to do it with list comprehensions, rather than loops. But if you use loops to iterate over the list, a style tip: don't use the same variable name i both for indices i in range(5) then also for items/values: for i in item_no. Better to do for no in item_no

    – smci
    8 mins ago
















  • 2





    Band indent at line 8

    – DirtyBit
    17 hours ago






  • 1





    You can use Dictionary to store the maximum number and its count as item_no = {}, if you max is different then original in item_no, reinitialize it and add that item and add count =1

    – dkb
    17 hours ago








  • 2





    ("Band" probably is a misspelling for "Bad")

    – tripleee
    17 hours ago






  • 1





    @tripleee Indeed. bulls-eye!

    – DirtyBit
    17 hours ago











  • As answers show, it's more Pythonic to do it with list comprehensions, rather than loops. But if you use loops to iterate over the list, a style tip: don't use the same variable name i both for indices i in range(5) then also for items/values: for i in item_no. Better to do for no in item_no

    – smci
    8 mins ago










2




2





Band indent at line 8

– DirtyBit
17 hours ago





Band indent at line 8

– DirtyBit
17 hours ago




1




1





You can use Dictionary to store the maximum number and its count as item_no = {}, if you max is different then original in item_no, reinitialize it and add that item and add count =1

– dkb
17 hours ago







You can use Dictionary to store the maximum number and its count as item_no = {}, if you max is different then original in item_no, reinitialize it and add that item and add count =1

– dkb
17 hours ago






2




2





("Band" probably is a misspelling for "Bad")

– tripleee
17 hours ago





("Band" probably is a misspelling for "Bad")

– tripleee
17 hours ago




1




1





@tripleee Indeed. bulls-eye!

– DirtyBit
17 hours ago





@tripleee Indeed. bulls-eye!

– DirtyBit
17 hours ago













As answers show, it's more Pythonic to do it with list comprehensions, rather than loops. But if you use loops to iterate over the list, a style tip: don't use the same variable name i both for indices i in range(5) then also for items/values: for i in item_no. Better to do for no in item_no

– smci
8 mins ago







As answers show, it's more Pythonic to do it with list comprehensions, rather than loops. But if you use loops to iterate over the list, a style tip: don't use the same variable name i both for indices i in range(5) then also for items/values: for i in item_no. Better to do for no in item_no

– smci
8 mins ago














5 Answers
5






active

oldest

votes


















20














Just get the maximum using max and then its count and combine the two in a list-comprehension.



item_no = [5, 6, 7, 8, 8]

max_no = max(item_no)
highest = [max_no for _ in range(item_no.count(max_no))]
print(highest) # -> [8, 8]


Note that this will return a list of a single item in case your maximum value appears only once.





A solution closer to your current programming style would be the following:



item_no = [5, 6, 7, 8, 8]
max_no = 0
for i in item_no:
if i > max_no:
max_no = i
high = [i]
elif i == max_no:
high.append(i)


with the same results as above of course.



Note that this last one is less efficient than the first by quite a margin. Python allows you to be more efficient than these explicit, fortran-like loops and it is more efficient itself when you use it properly.





share


























  • Actually, I would love to use the first code, but since this part of my school project, I am not allowed to use inbuilt functions, therefore I need to use the second code.

    – user11206537
    17 hours ago






  • 2





    @user11206537 I kinda saw this coming. Knowing what a better way would be is still of some value. Have fun!

    – Ev. Kounis
    16 hours ago











  • One last question, how do you find the index of the result (high) in item_no?

    – user11206537
    16 hours ago













  • You might want to start with a smaller number than 0.

    – Eric Duminil
    15 hours ago






  • 2





    @user11206537 To get the index as well, you can modify the code slightly and use enumerate on item_no. As you loop through, store the index in a 2nd list as you do for the max. Take a look at this

    – Ev. Kounis
    15 hours ago



















12














You can do it even shorter:



item_no = [5, 6, 7, 8, 8]
#compute once - use many
max_item = max(item_no)
print(item_no.count(max_item) * [max_item])


output:



[8, 8]





share|improve this answer


























  • One last question, how do you find the index of the result in item_no?

    – user11206537
    15 hours ago





















4














You could use list comprehension for that task following way:



numbers = [5, 6, 7, 8, 8]
maxnumbers = [i for i in numbers if i==max(numbers)]
print(*maxnumbers,sep=',')


output:



8,8


* operator in print is used to unpack values, sep is used to inform print what seperator to use: , in this case.



EDIT: If you want to get indices of biggest value and call max only once then do:



numbers = [5, 6, 7, 8, 8]
biggest = max(numbers)
positions = [inx for inx,i in enumerate(numbers) if i==biggest]
print(*positions,sep=',')


Output:



3,4


As you might check numbers[3] is equal to biggest and numbers[4] is equal to biggest.






share|improve this answer





















  • 2





    note that your solution calls max a total of len(numbers) times. Storing it outside the list and then using that would be better.

    – Ev. Kounis
    17 hours ago













  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago











  • @Ev.Kounis I assume the Python interpreter optimizes this, no?

    – user1717828
    8 hours ago



















2














This issue can be solved in one line, by finding an item which is equal to the maximum value:



[i for i in item_no if i==max(item_no)]






share|improve this answer


























  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago











  • By using enumerate function, we can get index position: [i for i, val in enumerate(item_no) if val in result]

    – Pradeep Pandey
    12 hours ago





















1















  1. Count the occurrence of max number


  2. iterate over the list to print the max number for the range of the count (1)



Hence:



item_no = [5, 6, 7, 8, 8]
counter = item_no.count(max(item_no)) # 2
print([max(item_no) for x in range(counter)])


OUTPUT:



[8, 8]





share|improve this answer
























  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});






user11206537 is a new contributor. Be nice, and check out our Code of Conduct.










draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55216278%2fhow-to-find-the-largest-numbers-in-a-list-of-elements-possibly-non-unique%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























5 Answers
5






active

oldest

votes








5 Answers
5






active

oldest

votes









active

oldest

votes






active

oldest

votes









20














Just get the maximum using max and then its count and combine the two in a list-comprehension.



item_no = [5, 6, 7, 8, 8]

max_no = max(item_no)
highest = [max_no for _ in range(item_no.count(max_no))]
print(highest) # -> [8, 8]


Note that this will return a list of a single item in case your maximum value appears only once.





A solution closer to your current programming style would be the following:



item_no = [5, 6, 7, 8, 8]
max_no = 0
for i in item_no:
if i > max_no:
max_no = i
high = [i]
elif i == max_no:
high.append(i)


with the same results as above of course.



Note that this last one is less efficient than the first by quite a margin. Python allows you to be more efficient than these explicit, fortran-like loops and it is more efficient itself when you use it properly.





share


























  • Actually, I would love to use the first code, but since this part of my school project, I am not allowed to use inbuilt functions, therefore I need to use the second code.

    – user11206537
    17 hours ago






  • 2





    @user11206537 I kinda saw this coming. Knowing what a better way would be is still of some value. Have fun!

    – Ev. Kounis
    16 hours ago











  • One last question, how do you find the index of the result (high) in item_no?

    – user11206537
    16 hours ago













  • You might want to start with a smaller number than 0.

    – Eric Duminil
    15 hours ago






  • 2





    @user11206537 To get the index as well, you can modify the code slightly and use enumerate on item_no. As you loop through, store the index in a 2nd list as you do for the max. Take a look at this

    – Ev. Kounis
    15 hours ago
















20














Just get the maximum using max and then its count and combine the two in a list-comprehension.



item_no = [5, 6, 7, 8, 8]

max_no = max(item_no)
highest = [max_no for _ in range(item_no.count(max_no))]
print(highest) # -> [8, 8]


Note that this will return a list of a single item in case your maximum value appears only once.





A solution closer to your current programming style would be the following:



item_no = [5, 6, 7, 8, 8]
max_no = 0
for i in item_no:
if i > max_no:
max_no = i
high = [i]
elif i == max_no:
high.append(i)


with the same results as above of course.



Note that this last one is less efficient than the first by quite a margin. Python allows you to be more efficient than these explicit, fortran-like loops and it is more efficient itself when you use it properly.





share


























  • Actually, I would love to use the first code, but since this part of my school project, I am not allowed to use inbuilt functions, therefore I need to use the second code.

    – user11206537
    17 hours ago






  • 2





    @user11206537 I kinda saw this coming. Knowing what a better way would be is still of some value. Have fun!

    – Ev. Kounis
    16 hours ago











  • One last question, how do you find the index of the result (high) in item_no?

    – user11206537
    16 hours ago













  • You might want to start with a smaller number than 0.

    – Eric Duminil
    15 hours ago






  • 2





    @user11206537 To get the index as well, you can modify the code slightly and use enumerate on item_no. As you loop through, store the index in a 2nd list as you do for the max. Take a look at this

    – Ev. Kounis
    15 hours ago














20












20








20







Just get the maximum using max and then its count and combine the two in a list-comprehension.



item_no = [5, 6, 7, 8, 8]

max_no = max(item_no)
highest = [max_no for _ in range(item_no.count(max_no))]
print(highest) # -> [8, 8]


Note that this will return a list of a single item in case your maximum value appears only once.





A solution closer to your current programming style would be the following:



item_no = [5, 6, 7, 8, 8]
max_no = 0
for i in item_no:
if i > max_no:
max_no = i
high = [i]
elif i == max_no:
high.append(i)


with the same results as above of course.



Note that this last one is less efficient than the first by quite a margin. Python allows you to be more efficient than these explicit, fortran-like loops and it is more efficient itself when you use it properly.





share















Just get the maximum using max and then its count and combine the two in a list-comprehension.



item_no = [5, 6, 7, 8, 8]

max_no = max(item_no)
highest = [max_no for _ in range(item_no.count(max_no))]
print(highest) # -> [8, 8]


Note that this will return a list of a single item in case your maximum value appears only once.





A solution closer to your current programming style would be the following:



item_no = [5, 6, 7, 8, 8]
max_no = 0
for i in item_no:
if i > max_no:
max_no = i
high = [i]
elif i == max_no:
high.append(i)


with the same results as above of course.



Note that this last one is less efficient than the first by quite a margin. Python allows you to be more efficient than these explicit, fortran-like loops and it is more efficient itself when you use it properly.






share













share


share








edited 15 hours ago









idmean

10.7k73669




10.7k73669










answered 17 hours ago









Ev. KounisEv. Kounis

11.2k21651




11.2k21651













  • Actually, I would love to use the first code, but since this part of my school project, I am not allowed to use inbuilt functions, therefore I need to use the second code.

    – user11206537
    17 hours ago






  • 2





    @user11206537 I kinda saw this coming. Knowing what a better way would be is still of some value. Have fun!

    – Ev. Kounis
    16 hours ago











  • One last question, how do you find the index of the result (high) in item_no?

    – user11206537
    16 hours ago













  • You might want to start with a smaller number than 0.

    – Eric Duminil
    15 hours ago






  • 2





    @user11206537 To get the index as well, you can modify the code slightly and use enumerate on item_no. As you loop through, store the index in a 2nd list as you do for the max. Take a look at this

    – Ev. Kounis
    15 hours ago



















  • Actually, I would love to use the first code, but since this part of my school project, I am not allowed to use inbuilt functions, therefore I need to use the second code.

    – user11206537
    17 hours ago






  • 2





    @user11206537 I kinda saw this coming. Knowing what a better way would be is still of some value. Have fun!

    – Ev. Kounis
    16 hours ago











  • One last question, how do you find the index of the result (high) in item_no?

    – user11206537
    16 hours ago













  • You might want to start with a smaller number than 0.

    – Eric Duminil
    15 hours ago






  • 2





    @user11206537 To get the index as well, you can modify the code slightly and use enumerate on item_no. As you loop through, store the index in a 2nd list as you do for the max. Take a look at this

    – Ev. Kounis
    15 hours ago

















Actually, I would love to use the first code, but since this part of my school project, I am not allowed to use inbuilt functions, therefore I need to use the second code.

– user11206537
17 hours ago





Actually, I would love to use the first code, but since this part of my school project, I am not allowed to use inbuilt functions, therefore I need to use the second code.

– user11206537
17 hours ago




2




2





@user11206537 I kinda saw this coming. Knowing what a better way would be is still of some value. Have fun!

– Ev. Kounis
16 hours ago





@user11206537 I kinda saw this coming. Knowing what a better way would be is still of some value. Have fun!

– Ev. Kounis
16 hours ago













One last question, how do you find the index of the result (high) in item_no?

– user11206537
16 hours ago







One last question, how do you find the index of the result (high) in item_no?

– user11206537
16 hours ago















You might want to start with a smaller number than 0.

– Eric Duminil
15 hours ago





You might want to start with a smaller number than 0.

– Eric Duminil
15 hours ago




2




2





@user11206537 To get the index as well, you can modify the code slightly and use enumerate on item_no. As you loop through, store the index in a 2nd list as you do for the max. Take a look at this

– Ev. Kounis
15 hours ago





@user11206537 To get the index as well, you can modify the code slightly and use enumerate on item_no. As you loop through, store the index in a 2nd list as you do for the max. Take a look at this

– Ev. Kounis
15 hours ago













12














You can do it even shorter:



item_no = [5, 6, 7, 8, 8]
#compute once - use many
max_item = max(item_no)
print(item_no.count(max_item) * [max_item])


output:



[8, 8]





share|improve this answer


























  • One last question, how do you find the index of the result in item_no?

    – user11206537
    15 hours ago


















12














You can do it even shorter:



item_no = [5, 6, 7, 8, 8]
#compute once - use many
max_item = max(item_no)
print(item_no.count(max_item) * [max_item])


output:



[8, 8]





share|improve this answer


























  • One last question, how do you find the index of the result in item_no?

    – user11206537
    15 hours ago
















12












12








12







You can do it even shorter:



item_no = [5, 6, 7, 8, 8]
#compute once - use many
max_item = max(item_no)
print(item_no.count(max_item) * [max_item])


output:



[8, 8]





share|improve this answer















You can do it even shorter:



item_no = [5, 6, 7, 8, 8]
#compute once - use many
max_item = max(item_no)
print(item_no.count(max_item) * [max_item])


output:



[8, 8]






share|improve this answer














share|improve this answer



share|improve this answer








edited 13 hours ago

























answered 17 hours ago









AllanAllan

7,91731534




7,91731534













  • One last question, how do you find the index of the result in item_no?

    – user11206537
    15 hours ago





















  • One last question, how do you find the index of the result in item_no?

    – user11206537
    15 hours ago



















One last question, how do you find the index of the result in item_no?

– user11206537
15 hours ago







One last question, how do you find the index of the result in item_no?

– user11206537
15 hours ago













4














You could use list comprehension for that task following way:



numbers = [5, 6, 7, 8, 8]
maxnumbers = [i for i in numbers if i==max(numbers)]
print(*maxnumbers,sep=',')


output:



8,8


* operator in print is used to unpack values, sep is used to inform print what seperator to use: , in this case.



EDIT: If you want to get indices of biggest value and call max only once then do:



numbers = [5, 6, 7, 8, 8]
biggest = max(numbers)
positions = [inx for inx,i in enumerate(numbers) if i==biggest]
print(*positions,sep=',')


Output:



3,4


As you might check numbers[3] is equal to biggest and numbers[4] is equal to biggest.






share|improve this answer





















  • 2





    note that your solution calls max a total of len(numbers) times. Storing it outside the list and then using that would be better.

    – Ev. Kounis
    17 hours ago













  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago











  • @Ev.Kounis I assume the Python interpreter optimizes this, no?

    – user1717828
    8 hours ago
















4














You could use list comprehension for that task following way:



numbers = [5, 6, 7, 8, 8]
maxnumbers = [i for i in numbers if i==max(numbers)]
print(*maxnumbers,sep=',')


output:



8,8


* operator in print is used to unpack values, sep is used to inform print what seperator to use: , in this case.



EDIT: If you want to get indices of biggest value and call max only once then do:



numbers = [5, 6, 7, 8, 8]
biggest = max(numbers)
positions = [inx for inx,i in enumerate(numbers) if i==biggest]
print(*positions,sep=',')


Output:



3,4


As you might check numbers[3] is equal to biggest and numbers[4] is equal to biggest.






share|improve this answer





















  • 2





    note that your solution calls max a total of len(numbers) times. Storing it outside the list and then using that would be better.

    – Ev. Kounis
    17 hours ago













  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago











  • @Ev.Kounis I assume the Python interpreter optimizes this, no?

    – user1717828
    8 hours ago














4












4








4







You could use list comprehension for that task following way:



numbers = [5, 6, 7, 8, 8]
maxnumbers = [i for i in numbers if i==max(numbers)]
print(*maxnumbers,sep=',')


output:



8,8


* operator in print is used to unpack values, sep is used to inform print what seperator to use: , in this case.



EDIT: If you want to get indices of biggest value and call max only once then do:



numbers = [5, 6, 7, 8, 8]
biggest = max(numbers)
positions = [inx for inx,i in enumerate(numbers) if i==biggest]
print(*positions,sep=',')


Output:



3,4


As you might check numbers[3] is equal to biggest and numbers[4] is equal to biggest.






share|improve this answer















You could use list comprehension for that task following way:



numbers = [5, 6, 7, 8, 8]
maxnumbers = [i for i in numbers if i==max(numbers)]
print(*maxnumbers,sep=',')


output:



8,8


* operator in print is used to unpack values, sep is used to inform print what seperator to use: , in this case.



EDIT: If you want to get indices of biggest value and call max only once then do:



numbers = [5, 6, 7, 8, 8]
biggest = max(numbers)
positions = [inx for inx,i in enumerate(numbers) if i==biggest]
print(*positions,sep=',')


Output:



3,4


As you might check numbers[3] is equal to biggest and numbers[4] is equal to biggest.







share|improve this answer














share|improve this answer



share|improve this answer








edited 14 hours ago

























answered 17 hours ago









DaweoDaweo

1,03525




1,03525








  • 2





    note that your solution calls max a total of len(numbers) times. Storing it outside the list and then using that would be better.

    – Ev. Kounis
    17 hours ago













  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago











  • @Ev.Kounis I assume the Python interpreter optimizes this, no?

    – user1717828
    8 hours ago














  • 2





    note that your solution calls max a total of len(numbers) times. Storing it outside the list and then using that would be better.

    – Ev. Kounis
    17 hours ago













  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago











  • @Ev.Kounis I assume the Python interpreter optimizes this, no?

    – user1717828
    8 hours ago








2




2





note that your solution calls max a total of len(numbers) times. Storing it outside the list and then using that would be better.

– Ev. Kounis
17 hours ago







note that your solution calls max a total of len(numbers) times. Storing it outside the list and then using that would be better.

– Ev. Kounis
17 hours ago















How do you find the index of the result in item_no?

– user11206537
15 hours ago





How do you find the index of the result in item_no?

– user11206537
15 hours ago













@Ev.Kounis I assume the Python interpreter optimizes this, no?

– user1717828
8 hours ago





@Ev.Kounis I assume the Python interpreter optimizes this, no?

– user1717828
8 hours ago











2














This issue can be solved in one line, by finding an item which is equal to the maximum value:



[i for i in item_no if i==max(item_no)]






share|improve this answer


























  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago











  • By using enumerate function, we can get index position: [i for i, val in enumerate(item_no) if val in result]

    – Pradeep Pandey
    12 hours ago


















2














This issue can be solved in one line, by finding an item which is equal to the maximum value:



[i for i in item_no if i==max(item_no)]






share|improve this answer


























  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago











  • By using enumerate function, we can get index position: [i for i, val in enumerate(item_no) if val in result]

    – Pradeep Pandey
    12 hours ago
















2












2








2







This issue can be solved in one line, by finding an item which is equal to the maximum value:



[i for i in item_no if i==max(item_no)]






share|improve this answer















This issue can be solved in one line, by finding an item which is equal to the maximum value:



[i for i in item_no if i==max(item_no)]







share|improve this answer














share|improve this answer



share|improve this answer








edited 15 hours ago









376writer

132




132










answered 16 hours ago









Pradeep PandeyPradeep Pandey

15417




15417













  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago











  • By using enumerate function, we can get index position: [i for i, val in enumerate(item_no) if val in result]

    – Pradeep Pandey
    12 hours ago





















  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago











  • By using enumerate function, we can get index position: [i for i, val in enumerate(item_no) if val in result]

    – Pradeep Pandey
    12 hours ago



















How do you find the index of the result in item_no?

– user11206537
15 hours ago





How do you find the index of the result in item_no?

– user11206537
15 hours ago













By using enumerate function, we can get index position: [i for i, val in enumerate(item_no) if val in result]

– Pradeep Pandey
12 hours ago







By using enumerate function, we can get index position: [i for i, val in enumerate(item_no) if val in result]

– Pradeep Pandey
12 hours ago













1















  1. Count the occurrence of max number


  2. iterate over the list to print the max number for the range of the count (1)



Hence:



item_no = [5, 6, 7, 8, 8]
counter = item_no.count(max(item_no)) # 2
print([max(item_no) for x in range(counter)])


OUTPUT:



[8, 8]





share|improve this answer
























  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago
















1















  1. Count the occurrence of max number


  2. iterate over the list to print the max number for the range of the count (1)



Hence:



item_no = [5, 6, 7, 8, 8]
counter = item_no.count(max(item_no)) # 2
print([max(item_no) for x in range(counter)])


OUTPUT:



[8, 8]





share|improve this answer
























  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago














1












1








1








  1. Count the occurrence of max number


  2. iterate over the list to print the max number for the range of the count (1)



Hence:



item_no = [5, 6, 7, 8, 8]
counter = item_no.count(max(item_no)) # 2
print([max(item_no) for x in range(counter)])


OUTPUT:



[8, 8]





share|improve this answer














  1. Count the occurrence of max number


  2. iterate over the list to print the max number for the range of the count (1)



Hence:



item_no = [5, 6, 7, 8, 8]
counter = item_no.count(max(item_no)) # 2
print([max(item_no) for x in range(counter)])


OUTPUT:



[8, 8]






share|improve this answer












share|improve this answer



share|improve this answer










answered 17 hours ago









DirtyBitDirtyBit

9,04821540




9,04821540













  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago



















  • How do you find the index of the result in item_no?

    – user11206537
    15 hours ago

















How do you find the index of the result in item_no?

– user11206537
15 hours ago





How do you find the index of the result in item_no?

– user11206537
15 hours ago










user11206537 is a new contributor. Be nice, and check out our Code of Conduct.










draft saved

draft discarded


















user11206537 is a new contributor. Be nice, and check out our Code of Conduct.













user11206537 is a new contributor. Be nice, and check out our Code of Conduct.












user11206537 is a new contributor. Be nice, and check out our Code of Conduct.
















Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55216278%2fhow-to-find-the-largest-numbers-in-a-list-of-elements-possibly-non-unique%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

ORA-01691 (unable to extend lob segment) even though my tablespace has AUTOEXTEND onORA-01692: unable to...

Always On Availability groups resolving state after failover - Remote harden of transaction...

Circunscripción electoral de Guipúzcoa Referencias Menú de navegaciónLas claves del sistema electoral en...