Python:如何使用函数从任意数量的列表/数组返回字典?
基本上(作为MWE),我希望编写一个函数,其行为如下:Python:如何使用函数从任意数量的列表/数组返回字典?,python,Python,基本上(作为MWE),我希望编写一个函数,其行为如下: def my_function(*args): value_dict = {} for arg in args: #do some math on arg to create variable value_dict.update("arg_name" = arg_variable) return value_dict …但我在编写代码为arg_name生成字符串时遇到问题。理想情况下
def my_function(*args):
value_dict = {}
for arg in args:
#do some math on arg to create variable
value_dict.update("arg_name" = arg_variable)
return value_dict
…但我在编写代码为arg_name生成字符串时遇到问题。理想情况下,键应该是包含数组名称的字符串,尽管我知道这不是一个特别明智的想法。value\u dict[arg\u name]=arg\u variable并且您还需要以某种方式生成arg\u name,否则我真的不理解这个问题 好的,如果您想将
dict
作为输入,请执行以下操作:
def my_function(**kwargs):
value_dict = {}
for arg in kwargs.iteritems():
print arg
my_function(a=1,b=2,c=3)
问题是在没有输出字符串的getvariablename(arg)函数的情况下,如何生成arg_name。@user3046460*args只是一个列表,没有名称,没有
getvariablename(arg)
。变量和对象是分开的,对象没有名称是的,我知道,但肯定有一些简单的方法可以让函数(array1,array2,array3)输出{“array1”:5,“array2”:6,“array3”:10}之类的东西?@user3046460我怀疑你是否理解Python中传递参数的整个概念。有两种截然不同的东西:参数名称和传递给函数的实际变量值。无法从函数中获取第二个。如果使用参数*args
定义函数,则无法获取参数名称。最好是这样的def my_函数(array1,array2,array3):print my_函数.func_code.co_varnames
你能规范这个函数吗?从用户的角度来看,它应该如何表现?