Python Code: Problem – listlib.lengths() – Define a function listlib.lengths which accepts a ...

Python Code:
Problem – listlib.lengths() – Define a function listlib.lengths which accepts a list of lists as an argument, and returns a new list of integers, containing the lengths of all inner lists. Clearly, the result should have the same length as the (outer) list input. Again, you should not modify any of the lists in any way. For example, the function call lengths([[1,2], [‘a’, [100, 10], ‘b’]]) should return a list equal to [2, 3].
Hint: This is no more difficult than the convert_inputs function from the previous assignment; don’t let the data type of the (outer) list’s elements lead you to overthinking. 😉 More specifically, you already implemented the “transform” [ s0,s1,…,sN−1 ] → [ float(s0),float(s1),…,float(sN−1) ]. The “transform” in this problem, i.e., [ `0,`1,…,`N−1 ] →[ len(`0),len(`1),…,len(`N−1) ] isn’t really that different.
Problem – listlib.longest() – Define a function lstlib.longest which accepts a non-empty list of lists‡ as an argument, and returns the longest (sub-)list. You can assume that the input
list is non-empty (i.e., contains at least one (sub-)list). Just to be clear, you should return the (sub-)list itself, not it’s length, or a copy of the (sub-)list, or anything else. If there are ties, then you should return the earliest list. Finally, once again you should not modify the input list in any way. For example, the function call longest([[1,2], [‘a’, [100, 10], ‘b’]]) should simply return the second list from the input argument (i.e., [‘a’, [100, 10], ‘b’]). Or, for a little less contrived input, the call longest([[-1,0], [1,2,3], [2,4], [], [3,2,1]]) should return the second list from the input argument (i.e., [1,2,3]); this also illustrates the tiebreaker requirement (both [1,2,3] and [3,2,1] have maximal length, so the earliest was returned).
Hint [1]: The similarity is that, once again, you have to work out a conditional update rule. You need to return one of the (sub-)lists, so you’ll still be keeping track of a “longest list (so far)”. However, the condition on whether to update depends on the length (of the current list vs the longest so far), not of the lists themselves.
Given Problem – listlib.lengths():Define a function `listlib.lengths` which accepts a list of lists as an argument, and returns a new list of integers, containing the lengths of all inner lists. The function call `lengths([[1,2], [‘a’, [100, 10], ‘b’]])` should return a list equal to `[2, 3]`.To solve this, the `len()` function can be used to get the length of each list in the given list of lists. So, a list comprehension can be used to get the lengths of all inner lists and return the resultant list. Python code for the given problem is:“`python
def lengths(list1):
return [len(i) for i in list1]
“`Given Problem – listlib.longest():Define a function `lstlib.longest` which accepts a non-empty list of lists as an argument, and returns the longest (sub-)list. You can assume that the input list is non-empty (i.e., contains at least one (sub-)list). If there are ties, then you should return the earliest list. You should not modify the input list in any way.The lengths of the sub-lists can be compared and stored in a variable to get the longest sub-list and the index of the longest sub-list in the list. Finally, the longest sub-list can be returned. Python code for the given problem is:“`python
def longest(list1):
longest_sub_list = list1[0]
longest_sub_list_index = 0
for i in range(len(list1)):
if len(list1[i]) > len(longest_sub_list):
longest_sub_list = list1[i]
longest_sub_list_index = i
return longest_sub_list
“`
Know more about python here:
https://brainly.com/question/30391554
#SPJ11
COMMENTS