1樓:匿名使用者
# -*- coding:utf-8 -*-#py3
'''python 字典當作函式引數,及遍歷'''def f(di): //定義函式for key in di: //兩種方式遍歷字典print(key,':
',di[key])for key,value in di.items():
print(key,'-',value)
dic=
f(dic)
python 字典作為函式引數,編寫函式實現功能:將乙個字典型別資料傳遞給函式經函式處理後,依次輸出鍵值
2樓:紫薇命
# -*- coding:utf-8 -*-#py3'''python 字典當作函式引數,及遍歷'''def f(di): //定義函式 for key in di:
//兩種方式遍歷字典 print(key,':',di[key]) for key,value in di.items():
print(key,'-',value) dic=f(dic)
3樓:
def exchange(d):
res = dict((v,k) for k,v in d.items())
print(res)
print(d)
一行**完成交換的,按你的需求定義了乙個函式
4樓:匿名使用者
你怕不是成都資訊工程大學彭城的學生吧
如何將python中的dict作為引數傳入c函式中用c做相關的處理?
5樓:匿名使用者
|#先上**再解釋
static pyobject *keywdarg_parrot(pyobject *self, pyobject *args, pyobject *keywds)
;if (!pyarg_parsetupleandkeywords(args, keywds, "i|sss", kwlist,
return null;
printf("-- this parrot wouldn't %s if you put %i volts through it.\n",
action, voltage);
printf("-- lovely plumage, the %s -- it's %s!\n", type, state);
py_incref(py_none);
return py_none;
}static pymethoddef keywdarg_methods = ,
/* sentinel */
};pyobject * initkeywdarg(void)
這是乙個函式(keywdarg_parrot)即使用了元組引數,也使用了字典引數的例子。例子出自python2.7.2的文件。具體在:
python v2.7.2 documentation »extending and embedding the python
interpreter
這個頁面下。文件裡面有一些關於c/c++與python互動的介紹和例子,還是比較詳細的。傳遞字典參量要注意,
,這裡的meth_varargs | meth_keywords,與普通的不同。解析用:
pyarg_parsetupleandkeywords(args, keywds, "i|sss", kwlist,
其中的四個變數要提前宣告好,這裡分別是int,str,str,str型別的。int對應的是args接受到的值。string的都是keywds裡面的,它們都是有初始值的。
kwlist是變數的名字,就是在python裡呼叫的時候使用的keyword名稱。照著例子的模式可以改成其它的,能用的。具體是怎麼工作的,其實我也太明白。
python**是這樣的呼叫的時候:
print keywdarg.parrot(10,"lhj",'hkj','er')
print keywdarg.parrot(10,"lhj",'hkj')
print keywdarg.parrot(10,"lhj",type='kj')
輸出分別是:
-- this parrot wouldn't hkj if you put 10 volts through it.
-- lovely plumage, the er -- it's lhj!
none
-- this parrot wouldn't hkj if you put 10 volts through it.
-- lovely plumage, the norwegian blue -- it's lhj!
none
-- this parrot wouldn't voom if you put 10 volts through it.
-- lovely plumage, the kj -- it's lhj!
none
第二次呼叫省略掉了變數,也能正常執行。第三次呼叫,變數type本來是第四位的,現在變成了keyword並寫在了第三位,是python**裡呼叫的常見形式:keyword不講順序,省略掉的keyword使用了預設值。
就這些了,其它的你再看一下python的文件吧。
python 中我想要建立乙個函式,該函式有兩個引數,這兩個引數是字典型別的,該如何傳參和定義函式
6樓:匿名使用者
d1 = {} # define dictoinary object instance
d2 = {} # same to abovedef f(d1, d2):
pass
字典是物件,數
字是物件,列表是物件 等等...
傳參 也是傳遞物件例項
7樓:匿名使用者
字典型和普通變數一樣,把字典名傳過去就ok了
python 如何根據輸入引數呼叫不同的函式
8樓:匿名使用者
使用字典,比如下面這樣:
def funca():
pass
def funcb():
pass
def func_none():
print "cannot find func"
func_dict =
def func(x):
return func_dict.get(x, func_none)()
在有switch的語言中,一般都是使用switch來根據入參進行判斷。但是python中沒有switch,因為根本不需要!!使用字典代替switch,效能更高,而且這種方法的表述能力更強一點。
另外func_dict.get(x, func_none)()中方法是從字典中取出值對應的函式物件,然後後面加上()是執行該物件的__call__方法。因為python中函式就是實現了__call__方法的物件。
所以可以這麼使用。
9樓:笑掉假牙
def fun_a():
print 'a'
def fun_b():
print 'b'
def fun_z():
print 'z'
def test_function(input_key):
function_map =
return function_map[input_key]()**測試
:>>> test_function('a')a>>> test_function('b')b>>> test_function('z')z>>>
或者:def test_function(input_key):
eval("fun_%s()"%input_key)
10樓:重新整理①丅
#python3.x
def func():
c = input("please enter a char:")while(true):
if c == 'a':
func_a()
break;
if c == 'b':
func_b()
break;
func()
python指令碼怎樣呼叫python指令碼
如果要呼叫另乙個python指令碼用import 檔名 不包括.py 就可以了,這個指令碼要在pythonpath的路徑下,如當前目錄,非常方便的。怎樣讓python指令碼與c 程式互相呼叫 二 python呼叫c c 1 python呼叫c動態鏈結庫 python呼叫c庫比較簡單,不經過任何封裝打...
我想轉行做程式設計,是自學Python呢,還是參加Python培訓
python是一門非常不錯的程式語言,該語言通俗易懂 適合零基礎人員,也是初學者的首要選擇,應用領域廣泛,就業機會多,是進入程式設計世界理想的選擇 而對於python學習來說,依據每個人的情況不同,選擇的方法也是不同,對於有一定基礎自學能力較強的人來說可以選擇自學,而對於沒有基礎,自學能力較弱的人來...
每日金典名作生產的怎樣,每日金典名作2023年2月生產的怎樣
應該是沒有問題的,這幾天我也查了不少資料,剛開始爆料甲醛門和亞硝酸鹽時,我也很擔心。但是金典名作的奶源是紐西蘭的,而亞硝酸鹽出現問題的是嬰腹安的2月分的那乙個批次。我們在商場或者超市買的中文版的金典名作就是原裝進口的,是800開頭的條碼,就是在南韓生產的,不是國內分裝的,我覺得可以放心吃。而韓文版的...