最近我注意到当我从字典传递给函数参数时它是元组值,它最后有逗号。 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。
答案 0 :(得分:2)
你传递元组作为第一个参数。 您需要解压缩值:
myfun(*arg_dict[0])