Iterating through permutations of DaataLoader with zip() gives error

I am trying to iterate through different permutations of a dataset with zip() like this…

for ((x1, y1), (x2, y2), ..., (xn, yn)) in zip([dataloader for dataloader in range(n)]):
    ...

I am getting the following error which doesn’t crash, but seems to cause everything to run very slow and hang for a long time…

Traceback (most recent call last):
  File "/home/jeff/.venv/env/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1324, in __del__
    self._shutdown_workers()
  File "/home/jeff/.venv/env/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1316, in _shutdown_workers
    if w.is_alive():
  File "/home/jeff/.pyenv/versions/3.8.6/lib/python3.8/multiprocessing/process.py", line 160, in is_alive
    assert self._parent_pid == os.getpid(), 'can only test a child process'
AssertionError: can only test a child process
Exception ignored in: <function _MultiProcessingDataLoaderIter.__del__ at 0x7fcbdcacce50>

Is using zip a valid way to accomplish this? Is there a better way to accomplish this without having to load multiple instantiations of the same dataloader?