t = (('page',1),('count',25),('skip',0))
def get_arguments(t):
page = 1
count = 25
skip = 0
基本的に、例のようにタプルを反復処理してこれらの引数を関数に設定する最良の方法は何ですか?
t = (('page',1),('count',25),('skip',0))
def get_arguments(t):
page = 1
count = 25
skip = 0
基本的に、例のようにタプルを反復処理してこれらの引数を関数に設定する最良の方法は何ですか?
次のものも使用できます**kwargs
。
t = (('page',1),('count',25),('skip',0))
arguments = dict(t)
def get_arguments(page, count, skip):
#page = 1
#count = 25
#skip = 0
#call your function with
get_arguments(**arguments)
また、変数にtupleという名前を付けないでください。
あなたはこれを行うことができます:
page, count, skip = [t[1] for t in tuple]
tupleData = (('page',1),('count',25),('skip',0))
class DottedDict(dict):
def __init__(self, *a, **k):
super(DottedDict, self).__init__(*a, **k)
self.__dict__ = self
def get_arguments(tupleArg):
d = DottedDict(tupleArg)
print d.page, d.count, d.skip
get_arguments(tupleData)
原則として、代わりに etc.を実行すると法線dict
も同様に機能しますが、ドット付きアクセスはさらに短くなります。d['page']
tupleData = (('page',1),('count',25),('skip',0))
def get_arguments(tupleArg):
page, count, skip = zip(*tupleArg)[1]
print page, count, skip
get_arguments(tupleData)
出力
1 25 0
def get_arguments(page,count,skip):
print page, count, skip
get_arguments(page=1, count=25, skip=0)