Imagine the following piece of code which generates a list of file sizes from the current directories' files:
_sizes = []
for _base, _dirs, _files in os.walk('.'):
for _file in _files:
_size = getsize(join(_base, _file))
_sizes.append(_size)
I wonder whether I can create a nested generator from this - s.th. like:
_sizes = [getsize(join(_base, _file))
for _file in _files
for [_base, _dirs, _files in os.walk('.')]]
This is syntactically incorrect of course since [_base, _dirs, _files in os.walk('.')]
is not correct generator syntax. What I need now is a way to iterate through a sub-element from a list (_files
) while referencing another one (_base
) (what I called cross-referencing in the title).
I now wonder if I just can't see the obvious or if this is approach is not valid in general.