Iteration Utilities
Utilities.
split
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
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