python典怎樣當作引數傳入函式裡,以及在

2021-03-04 05:26:14 字數 4213 閱讀 2500

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開頭的條碼,就是在南韓生產的,不是國內分裝的,我覺得可以放心吃。而韓文版的...