mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Add keyword arg support to itertools.compress().
This commit is contained in:
parent
bc67084940
commit
15a4950da1
2 changed files with 5 additions and 6 deletions
|
@ -310,6 +310,7 @@ class TestBasicOps(unittest.TestCase):
|
||||||
self.assertEqual(comb, sorted(set(cwr) & set(perm))) # comb: both a cwr and a perm
|
self.assertEqual(comb, sorted(set(cwr) & set(perm))) # comb: both a cwr and a perm
|
||||||
|
|
||||||
def test_compress(self):
|
def test_compress(self):
|
||||||
|
self.assertEqual(list(compress(data='ABCDEF', selectors=[1,0,1,0,1,1])), list('ACEF'))
|
||||||
self.assertEqual(list(compress('ABCDEF', [1,0,1,0,1,1])), list('ACEF'))
|
self.assertEqual(list(compress('ABCDEF', [1,0,1,0,1,1])), list('ACEF'))
|
||||||
self.assertEqual(list(compress('ABCDEF', [0,0,0,0,0,0])), list(''))
|
self.assertEqual(list(compress('ABCDEF', [0,0,0,0,0,0])), list(''))
|
||||||
self.assertEqual(list(compress('ABCDEF', [1,1,1,1,1,1])), list('ABCDEF'))
|
self.assertEqual(list(compress('ABCDEF', [1,1,1,1,1,1])), list('ABCDEF'))
|
||||||
|
|
|
@ -2607,11 +2607,9 @@ compress_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
||||||
PyObject *seq1, *seq2;
|
PyObject *seq1, *seq2;
|
||||||
PyObject *data=NULL, *selectors=NULL;
|
PyObject *data=NULL, *selectors=NULL;
|
||||||
compressobject *lz;
|
compressobject *lz;
|
||||||
|
static char *kwargs[] = {"data", "selectors", NULL};
|
||||||
if (type == &compress_type && !_PyArg_NoKeywords("compress()", kwds))
|
|
||||||
return NULL;
|
if (!PyArg_ParseTupleAndKeywords(args, kwds, "OO:compress", kwargs, &seq1, &seq2))
|
||||||
|
|
||||||
if (!PyArg_UnpackTuple(args, "compress", 2, 2, &seq1, &seq2))
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
data = PyObject_GetIter(seq1);
|
data = PyObject_GetIter(seq1);
|
||||||
|
@ -2689,7 +2687,7 @@ compress_next(compressobject *lz)
|
||||||
}
|
}
|
||||||
|
|
||||||
PyDoc_STRVAR(compress_doc,
|
PyDoc_STRVAR(compress_doc,
|
||||||
"compress(data sequence, selector sequence) --> iterator over selected data\n\
|
"compress(data, selectors) --> iterator over selected data\n\
|
||||||
\n\
|
\n\
|
||||||
Return data elements corresponding to true selector elements.\n\
|
Return data elements corresponding to true selector elements.\n\
|
||||||
Forms a shorter iterator from selected data elements using the\n\
|
Forms a shorter iterator from selected data elements using the\n\
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue