<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def zero_dataset(train=False, dev=False, test=False, train_rows=256, dev_rows=64, test_rows=64):
 """ Load the Zero dataset. The Zero dataset is a simple task of predicting zero from zero. This dataset is useful for integration testing. The extreme simplicity of the dataset allows for models to learn the task quickly allowing for quick end-to-end testing. Args: train (bool, optional):
 If to load the training split of the dataset. dev (bool, optional):
 If to load the development split of the dataset. test (bool, optional):
 If to load the test split of the dataset. train_rows (int, optional):
 Number of training rows to generate. dev_rows (int, optional):
 Number of development rows to generate. test_rows (int, optional):
 Number of test rows to generate. Returns: :class:`tuple` of :class:`torchnlp.datasets.Dataset` or :class:`torchnlp.datasets.Dataset`: Returns between one and all dataset splits (train, dev and test) depending on if their respective boolean argument is ``True``. Example: [{'source': '0', 'target': '0'}, {'source': '0', 'target': '0'}] """

    ret = []
    for is_requested, n_rows in [(train, train_rows), (dev, dev_rows), (test, test_rows)]:
        if not is_requested:
            continue
        rows = [{'source': str(0), 'target': str(0)} for i in range(n_rows)]
        ret.append(Dataset(rows))

    if len(ret) == 1:
        return ret[0]
    else:
        return tuple(ret)