Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将串联列表作为参数传递?_Python - Fatal编程技术网

Python 如何将串联列表作为参数传递?

Python 如何将串联列表作为参数传递?,python,Python,我试图将参数列表传递给一个函数,该函数必须从列表和字典中组合在一起,但与往常一样,Python在不知道到底哪里出了问题的情况下抱怨某些东西“不可写”或“不可下标”,这是毫无帮助的。考虑以下事项: argl=[p,T,C] argl.append(list(ph.items)) Ci['ol']=fsolve(Cr_impl,0.1*C,argl) 其中,fsolve是numpy的根查找器,ph是一个字典,其条目形式为'ol':0.55等,p、T和C是包含一些实数的简单标量。Pyth

我试图将参数列表传递给一个函数,该函数必须从列表和字典中组合在一起,但与往常一样,Python在不知道到底哪里出了问题的情况下抱怨某些东西“不可写”或“不可下标”,这是毫无帮助的。考虑以下事项:

argl=[p,T,C]
argl.append(list(ph.items))      
Ci['ol']=fsolve(Cr_impl,0.1*C,argl)
其中,
fsolve
是numpy的根查找器,ph是一个字典,其条目形式为
'ol':0.55
等,
p
T
C
是包含一些实数的简单标量。Python抱怨说,
“内置函数”或“方法”对象不可移植
。我也试过了

argl=[p,T,C]+list(ph.items)
同样的结果,以及

argl=[p,T,C]+ph.items
导致

can only concatenate list (not "builtin_function_or_method") to list

那么,它想要什么?必须有办法将dict拆分为一个较长的列表(然后可以在调用的函数中重新排列)。dict.items是一种方法。你需要给它加上括号才能真正调用它。e、 g

argl.append(list(ph.items()))

dict.items
是一种方法。你需要给它加上括号才能真正调用它。e、 g

argl.append(list(ph.items()))

错误是
ph.items
返回内置方法生成器,而
ph.items()
返回所需的值列表


将代码更正为
argl.append(list(ph.items())

错误为
ph.items
返回内置方法生成器,并
ph.items()
返回所需的值列表


将代码更正为
argl.append(list(ph.items())

虽然其他人已经回答了,但以下内容可能会让您了解更多信息:

dic={'a':1, 'b':2, 'c':3}
print (dic.keys)
输出
虽然其他人已经回答了,但以下内容可能会给您一些更多的想法:

dic={'a':1, 'b':2, 'c':3}
print (dic.keys)
输出