w3resource

Python: Find the longest one from any number of iterable objects or objects with a length property

Python List: Exercise - 245 with Solution

Write a Python program that takes any number of iterable objects or objects with a length property and returns the longest one.

  • Use max() with len() as the key to return the item with the greatest length.
  • If multiple objects have the same length, the first one will be returned.

Sample Solution:

Python Code:

def longest_item(*args):
  return max(args, key = len)
print(longest_item('this', 'is', 'a', 'Green'))  
print(longest_item([1, 2, 3], [1, 2], [1, 2, 3, 4, 5])) 
print(longest_item([1, 2, 3, 4], 'Red'))

Sample Output:

Green
[1, 2, 3, 4, 5]
[1, 2, 3, 4]

Flowchart:

Flowchart: Find the longest one from any number of iterable objects or objects with a length property.

Visualize Python code execution:

The following tool visualize what the computer is doing step-by-step as it executes the said program:


Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to initialize a list containing the numbers in the specified range where start and end are inclusive and the ratio between two terms is step. Returns an error if step equals 1.
Next: Write a Python program to check if a given function returns True for at least one element in the list.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.

Python: Tips of the Day

Given a predicate function, fn, and a prop string, this curried function will then take an object to inspect by calling the property and passing it to the predicate:

Example:

def tips_check_prop(fn, prop):
  return lambda obj: fn(obj[prop])
check_age = tips_check_prop(lambda x: x >= 25, 'age')
user = {'name': 'Owen', 'age': 25}

print(check_age(user))

Output:

True 

 





We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook