`flags` has to be a list for it to concatenate with the other arguments later on. So yes, `flags = list(flags)` would do that job.

But it'd also be nice to allow non-str arguments (which `subprocess.check_call()` doesn't support) for things like numeric values (e.g. `ncdump -p 1 ...`), so I wanted to add the coercion to str. And yes, a list comprehension would obviously do that too. I went with `map` because it's snappier.