Hen Hanna schreef op 21/02/2023 om 5:13:
                 (A)   print( max( * LisX ))
                 (B)   print( sum( * LisX ))        <------- Bad syntax !!!

What's most surprising is....     (A)  is ok, and  (B) is not.

            even tho'   max() and sum()  have   (basically)  the same syntax... 
 ( takes one arg ,  whch is a list )

There's an important difference in syntax.

sum() takes an iterable:

sum(iterable, /, start=0)
    Return the sum of a 'start' value (default: 0) plus an iterable of numbers

    When the iterable is empty, return the start value.
    This function is intended specifically for use with numeric values and may
    reject non-numeric types.

max() on the other hand takes either an iterable or a number of individual elements:

max(...)
    max(iterable, *[, default=obj, key=func]) -> value
    max(arg1, arg2, *args, *[, key=func]) -> value

    With a single iterable argument, return its biggest item. The
    default keyword-only argument specifies an object to return if
    the provided iterable is empty.
    With two or more arguments, return the largest argument.

That second form of max is why max(*some_list) works while sum(*some_list) doesn't.

--
"You can fool some of the people all the time, and all of the people some
of the time, but you cannot fool all of the people all of the time."
        -- Abraham Lincoln
"You can fool too many of the people too much of the time."
        -- James Thurber

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to