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 -- https://mail.python.org/mailman/listinfo/python-list