gpt4 book ai didi

python - 如何输入参数以列表或元组的形式运行?

转载 作者:太空宇宙 更新时间:2023-11-03 13:01:04 27 4
gpt4 key购买 nike

是否可以以列表的形式输入函数的参数。例如 -

list1 = ["somethin","some"]
def paths(list):
import os
path = os.path.join() #I want to enter the parameters of this function from the list1
return path

好的,我得到了答案,但只是一个附加问题,仅与此相关 -这是我的代码-

def files_check(file_name,sub_directories):
"""
file_name :The file to check
sub_directories :If the file is under any other sub directory other than the application , this is a list.
"""
appname = session.appname
if sub_directories:
path = os.path.join("applications",
appname,
*sub_directories,
file_name)
return os.path.isfile(path)
else:
path = os.path.join("applications",
appname,
file_name)
return os.path.isfile(path)

我收到这个错误 -

 SyntaxError: only named arguments may follow *expression

请帮帮我。

最佳答案

您可以 unpack the sequence使用 splat 运算符(*):

path = os.path.join(*my_list)

演示:

>>> import os
>>> lis = ['foo', 'bar']
>>> os.path.join(*lis)
'foo\\bar'

更新:

要回答你的新问题,一旦你在参数中使用了 * 就不能传递位置参数,你可以在这里做这样的事情:

from itertools import chain

def func(*args):
print args

func(1, 2, *chain(range(5), [2]))
#(1, 2, 0, 1, 2, 3, 4, 2)

并且不要使用list作为变量名

关于python - 如何输入参数以列表或元组的形式运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20900800/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com