Skip to content

Iteration Utilities

Utilities.

split

split(items, seps=';')

Split items into tuple.

Parameters:

Name Type Description Default
items Names

Items.

required
seps str

Separator

';'
Split Examples

Basics:

>>> split(['abc', 'def'])
('abc', 'def')
>>> split(('abc', 'def'))
('abc', 'def')
>>> split('abc; def')
('abc', 'def')
>>> split('ab;c, def', seps=",")
('ab;c', 'def')

Generators are also handled:

>>> def func():
...     yield 'abc'
...     yield 'def'
>>> split(func())
('abc', 'def')

Empty strings or None just result in an empty tuple:

>>> split("")
()
>>> split(None)
()

namefilter

namefilter(namepats)

Create filter for namepats.

Parameters:

Name Type Description Default
namepats Names

Name Filter Pattern.

required
Namefilter Examples

Basics:

>>> import ucdp as u
>>> def myfunc(items, filter_=None):
...     for item in items:
...         if not filter_ or filter_(item):
...             print(item)

>>> items = ('abc', 'cde', 'efg')
>>> myfunc(items)
abc
cde
efg
>>> myfunc(items, filter_=u.namefilter(''))
abc
cde
efg
>>> myfunc(items, filter_=u.namefilter('cde; tuv'))
cde
>>> myfunc(items, filter_=u.namefilter('*c*'))
abc
cde
>>> myfunc(items, filter_=u.namefilter('!*c*'))
efg
>>> myfunc(items, filter_=u.namefilter('*c*; !*e'))
abc

>>> items = ['abc', 'cde', 'efg']
>>> myfunc(items, filter_=u.namefilter('*c*; !*e'))
abc