Different "look and feel" of some built-in functions
Dieter Maurer
dieter at handshake.de
Fri Sep 24 12:14:56 EDT 2021
Steve Keller wrote at 2021-9-24 11:48 +0200:
>Why do some built-in Python functions feel so differently:
Because the typical use cases are different
>For example sum(), all(), any() expect exactly one argument which is a
>sequence to operate on, i.e. a list, an iterator or a generator etc.
>
> sum([1,2,3,4])
> sum(range(1, 101))
> sum(2**i for i in range(10))
> all([True, False])
> any(even, {1,2,3,4})
You use those functions typically on a large number
of operands, typically already collected together via some form
of iterator.
If you want to compute the sum of a few operands, you
would usually not use `sum` but `o1 + o2 + ...`.
>while other functions like set.union() and set.intersection() work on
>a list of arguments but not on a sequence:
>
> set.intersection({1,2,3}, {3,4,5})
Those operations are typically applied to a small number
of operands. You would need to build an iterator in that
case should the functions only accept iterators.
--
Dieter
More information about the Python-list
mailing list