mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
Simplify the signature for itertools.accumulate() to match numpy. Handle one item iterable the same way as min()/max().
This commit is contained in:
parent
a7a0e1a0f4
commit
d8ff4658fb
3 changed files with 31 additions and 37 deletions
|
|
@ -59,18 +59,18 @@ class TestBasicOps(unittest.TestCase):
|
|||
|
||||
def test_accumulate(self):
|
||||
self.assertEqual(list(accumulate(range(10))), # one positional arg
|
||||
[0, 1, 3, 6, 10, 15, 21, 28, 36, 45])
|
||||
self.assertEqual(list(accumulate(range(10), 100)), # two positional args
|
||||
[100, 101, 103, 106, 110, 115, 121, 128, 136, 145])
|
||||
self.assertEqual(list(accumulate(iterable=range(10), start=100)), # kw args
|
||||
[100, 101, 103, 106, 110, 115, 121, 128, 136, 145])
|
||||
[0, 1, 3, 6, 10, 15, 21, 28, 36, 45])
|
||||
self.assertEqual(list(accumulate(iterable=range(10))), # kw arg
|
||||
[0, 1, 3, 6, 10, 15, 21, 28, 36, 45])
|
||||
for typ in int, complex, Decimal, Fraction: # multiple types
|
||||
self.assertEqual(list(accumulate(range(10), typ(0))),
|
||||
self.assertEqual(
|
||||
list(accumulate(map(typ, range(10)))),
|
||||
list(map(typ, [0, 1, 3, 6, 10, 15, 21, 28, 36, 45])))
|
||||
self.assertEqual(list(accumulate([])), []) # empty iterable
|
||||
self.assertRaises(TypeError, accumulate, range(10), 0, 5) # too many args
|
||||
self.assertEqual(list(accumulate([7])), [7]) # iterable of length one
|
||||
self.assertRaises(TypeError, accumulate, range(10), 5) # too many args
|
||||
self.assertRaises(TypeError, accumulate) # too few args
|
||||
self.assertRaises(TypeError, accumulate, range(10), x=7) # unexpected kwd args
|
||||
self.assertRaises(TypeError, accumulate, x=range(10)) # unexpected kwd arg
|
||||
self.assertRaises(TypeError, list, accumulate([1, []])) # args that don't add
|
||||
|
||||
def test_chain(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue