# Python 3, <s>120</s> 114 bytes

<!-- language-all: lang-python -->

    def f(n,k=0):
     while~n:
      k+=1
      try:r=eval(bin(k).translate({48:'],',49:'['})[3:-1])+[];n-=1
      except:0
     print(r)

Test it on [Ideone].

### How it works

The defined function **f** takes input **n** and initializes **k** to **0**. We'll keep incrementing **k** until **n + 1** values of **k** result in a valid output. Every time we find such a value of **k**, **n** is decremented once it reaches **-1**, `~n` yields **0**, and the list **r** that corresponds to the last value of **k** is printed.

The partial mapping from the positive integers to nested lists (i.e., **k ↦ r**) has to be bijective, but there are no other constraints. The one used in this answer operates as follows.

1. Convert **k** to a binary string representation, staring with **0b**.

    For example, **44 ↦ "0b101100"**.

1. Replace all **0**'s (code point **48**) in the string representation with the string **"],"** and all **1**'s (code point **49**) with **[**.

    For example, **"0b101100" ↦ "],b[],[[],],"**.

1. Remove the first three characters (they correspond to **"0b"**) and the trailing character (hopefully a comma).

    For example, **"],b[],[[],]," ↦ "[],[[],]"**.

1. Try evaluating the generated code. If this results in an error, **k** isn't mapped to any list.

    For example, **"[],[[],]" ↦ ([], [[]])**.

1. Concatenate the result (if any) with the empty list. If this results in an error, **k** isn't mapped to any list.

    For example, **([], [[]]) + []** errors since **+** cannot concatenate lists and tuples.

[Ideone]: http://ideone.com/sQhCyA