Python 如何将串联列表作为参数传递?
我试图将参数列表传递给一个函数,该函数必须从列表和字典中组合在一起,但与往常一样,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
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)
输出