擅长:python、mysql、java
<p>您应该从<code>list</code>派生并重写<code>__iter__</code>方法。</p>
<pre><code>import json
def gen():
yield 20
yield 30
yield 40
class StreamArray(list):
def __iter__(self):
return gen()
# according to the comment below
def __len__(self):
return 1
a = [1,2,3]
b = StreamArray()
print(json.dumps([1,a,b]))
</code></pre>
<p>结果是<code>[1, [1, 2, 3], [20, 30, 40]]</code>。</p>