我在试着做一些非常简单的事情,我不知道为什么我不能解决这个问题...
我有两个参数,我只是想通过循环把它们都放到一个列表中,我使用循环的原因是因为有一天函数可能会接受很多sys.argv而不是局部变量,这就是我的意思:
def function(arg1, arg2):
list = []
for i in range(len(locals())):
list.append(locals()[i])
function(1,2)如果你明白我的意思,你能告诉我这个问题的解决方案吗?谢谢
发布于 2013-01-10 02:42:21
locals()是一个字典,只需使用.values()来获取所有包含的值:
list = locals().values()但是,如果您的函数将来将使用sys.argv,请让您的函数改用位置参数:
def func(*args):
# args is a list of arguments
print args
func(1, 2)发布于 2013-01-10 02:44:16
为了从sys.argv获取值,您需要使用locals()有什么原因吗?如果您正在解析命令行参数,可以查看argparse?http://docs.python.org/dev/library/argparse.html
https://stackoverflow.com/questions/14244162
复制相似问题