擅长:python、mysql、java
<p>一种解决方案是使用<code>defaultdict</code>:</p>
<pre><code>from collections import defaultdict
my_dict = defaultdict(lambda: [])
my_dict['var1'].append(1)
print(my_dict['var1']) # prints '[1]'
</code></pre>
<p>但是,这不允许您简单地执行<code>print(var1)</code>,因为它在您的本地(或全局)命名空间中仍然未定义为标记值。它只能作为键存在于<code>defaultdict</code>实例中。你知道吗</p>
<p>另一种选择是使用类:</p>
<pre><code>class TaskRunner:
def __init__(self, var1=None, var2=None, var3=None):
self.var1 = var1 or []
self.var2 = var2 or []
self.var3 = var3 or []
def run_scheduled(self):
for i in [self.var1, self.var2, self.var3]:
i.append(random.randrange(1, 10000000))
runner = TaskRunner()
schedule.every(60).seconds.do(runner.run_scheduled)
</code></pre>
<p>您还可以使用<code>pickle</code>保存实例以便稍后加载(即,在随后的作业运行中)。你知道吗</p>