[英]passing dictionary as parameter in csp python gives unhashable type: 'dict'
[英]Passing list and dictionary type parameter with Python
當我運行此代碼時
def func(x, y, *w, **z):
print x
print y
if w:
print w
if z:
print z
else:
print "None"
func(10,20, 1,2,3,{'k':'a'})
我得到的結果如下。
10 20 (1, 2, 3, {'k': 'a'}) None
但是,我的預期如下,我的意思是匹配* w的列表參數(1,2,3)和字典匹配** z。
10 20 (1,2,3) {'k':'a'}
問:出了什么問題? 如何將列表和字典作為參數傳遞?
func(10,20, 10,20,30, k='a')
好像在起作用
在字典前放兩個星號:
func(10,20, 1,2,3,**{'k':'a'})
我不確定“輸入”格式是什么,但這樣可行:
func(10,20, 1,2,3, k='a')
有了這個,你甚至不需要在最后把k = a放在那里,它可以在前兩個參數之后的任何地方。 那么1,2,3和其他“未命名的”參數會被塞進一個元組(我認為?)中,用於單星arg。
如果你想要更加明確,你可以做到
func(10,20,*[1,2,3],**{'k':'a'})
指定(對於讀者)您要使用每個特殊形式參數的參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.