Function adas.list_index_str
def list_index_str(inlist, substr, pos=None, complement=False)
-
Given a list of strings return a list of indices which contain a specified substring.
Parameters
inlist
:list
- list of strings
substr
:str
- value for which the indices are required.
pos
:int
- the substring must occur at this position.
complement
:bool
- return the index of lines where the substring is not found.
Returns
index
:int
- list of indices. If there are no matches -1 is returned.
count
:int
- the number of matches.
Notes
This replicates an ADAS coding pattern from IDL. It is the equivalent of index = where(strpos(lines, substr) NE -1, count) index = where(strpos(lines, substr) EQ pos, count)
Version History
-
Martin O'Mullane, 16-11-2019
- First version
-
Martin O'Mullane, 08-04-2021
- Add complement switch to return non-matching indices.
-
Martin O'Mullane, 15-10-2022
- If a specific position is requested, check for all occurrences of substr before testing.
Example
>>> import adas as adas >>> lines=['first line', '23', 'Te (eV)', 'Tion (eV)', 'another line'] >>> ind, count = adas.list_index_str(lines, 'eV') >>> ind [2, 3] >>> count 2