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)
原则上,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)