为什么传递来自字典的元组参数有尾随逗号?

时间:2018-05-10 11:16:21

标签: python python-3.x python-3.6

最近我注意到当我从字典传递给函数参数时它是元组值,它最后有逗号。 Bellow是我的问题的简单代码示例。

x - np.apply_along_axis(median, axis=1, x)[:,np.newaxis]

这是输出:

def myfun(*args):
   print(f'args={args}')
   x, y = args
   print(f'x={x}, y={y}')


myfun(1, 2) # passing arguments this way works fine
arg_dict = {0: (1, 2), 1: (2, 3)}
print(f'arg_dict[0]={arg_dict[0]}') # when I print dictionary value it seems quite OK.
myfun(arg_dict[0]) # passed dictionary value has trailing comma.

我想知道为什么python解释器决定从这样的字典中打包元组? 我正在使用python3.6。

1 个答案:

答案 0 :(得分:2)

你传递元组作为第一个参数。 您需要解压缩值:

myfun(*arg_dict[0])