ram wrote: > Stupid question #983098403: > > I can't seem to pass an unpacked sequence and keyword arguments to a > function at the same time. What am I doing wrong? > > def f(*args, **kw): > for a in args: > print 'arg:', a > for (k,v) in kw.iteritems(): > print k, '=', v > >>>> f(1,2) > arg: 1 > arg: 2 > >>>> f(*[1,2]) > arg: 1 > arg: 2 > >>>> f(1,2, a=1) > arg: 1 > arg: 2 > a = 1 > >>>> f(*[1,2], a=1) > File "<stdin>", line 1 > f(*[1,2], a=1) > ^ > SyntaxError: invalid syntax > > Thanks, > Rick >
I don't know if it's because there's some potential ambiguity (that I'm not seeing), but yeah, you just can't do that. This should work though... >>> f(*[1, 2], **{'a':1}) noah -- http://mail.python.org/mailman/listinfo/python-list