如何解决复制所有函数输入的pythonic方式
我正在寻找一种更优雅的方式,以避免出现以下情况:
def funct(input1,input2,input3,input4,input5):
input1_new = copy.copy(input1)
input2_new = copy.copy(input2)
input3_new = copy.copy(input3)
input4_new = copy.copy(input4)
input5_new = copy.copy(input5)
由于我目前有很多文件,使用非常广泛的函数,我想知道是否没有更多的 Pythonic 方法来复制函数中给出的所有输入。
由于堆栈和堆问题,我正在复制。
谢谢!
解决方法
您可以在函数的参数定义中使用 *
一次接收所有输入。
def funct(*inputs):
inputs_new = copy.copy(inputs)
通过这种方式,您将收到 inputs
元组中的所有输入,并且可以迭代地访问它们。例如,inputs[0]
将是您的 input1
等。
试试这个:
def funct(input1,input2,input3,input4,input5):
for i in range(1,100):
exec(f"input{i}_new = f'Hi input{i}'")
exec(f'print(input{i}_new)')
这将打印 'input1' ... 'input99'。同理,可以用exec增加数
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。