私はこれをたくさんやっていることに気づきます。例は単純ですが、実際には、2番目の再帰が呼び出されないデータ構造と条件を更新するための複雑な割り当てがたくさんあります。
メッシュデータを使用しています。ポイント、エッジ、および面は別々の辞書に保存され、「ポインタ」(dictキー)が頻繁に使用されます。
import itertools
class Demo(object):
def __init__(self):
self.a = {}
self.b = {}
self.keygen = itertools.count()
def add_to_b(self, val):
new_key = next(self.keygen)
self.b[new_key] = val
return new_key
def recur_method(self, arg, argisval=True):
a_key = next(self.keygen)
if argisval is True:
# arg is a value
b_key = self.add_to_b(arg)
self.a[a_key] = b_key
self.recur_method(b_key, argisval=False)
else:
# arg is a key
self.a[a_key] = arg
demo = Demo()
demo.recur_method(2.2)
もっと良い方法はありますか?すべての割り当てコードを7つの異なるメソッドに分割するのに足りませんか?とにかくこれについて心配する必要がありますか?