关于Python*args

2024-03-29 07:40:16 发布

您现在位置:Python中文网/ 问答频道 /正文

import math

def square(*args):
    return math.pow(args,2)

a=[]

for i in range(1,101):

    a.append(i)

print(list(map(square,a)))

这个代码有什么问题吗?我得到这个错误:

TypeError: must be real number, not tuple

Tags: 代码inimportmapforreturndefargs
1条回答
网友
1楼 · 发布于 2024-03-29 07:40:16

正如@heemayl在评论中提到的,args是一个元组。因此,要访问元组的单个元素,需要使用索引器:

def square(*args):
    return math.pow(args[0], 2)

或者,如果只提供一个参数,则可以直接传递它,而无需解包元组:

def square(x):
    return math.pow(x, 2)

相关问题 更多 >