0
t = (('page',1),('count',25),('skip',0))

def get_arguments(t):
 page = 1
 count = 25
 skip = 0

基本上,迭代元组并在我的函数中设置这些参数的最佳方法是什么?

4

5 回答 5

4

您还可以使用**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

于 2013-09-29T18:43:32.523 回答
0

你可以这样做:

page, count, skip = [t[1] for t in tuple]
于 2013-09-29T18:44:29.113 回答
0
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']等,但虚线访问甚至更短。

于 2013-09-29T18:45:00.323 回答
0
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
于 2013-09-29T18:42:06.360 回答
0
def get_arguments(page,count,skip):
     print page, count, skip

get_arguments(page=1, count=25, skip=0)
于 2013-09-29T18:43:10.293 回答