Python定義可變引數與list切片

2022-07-19 10:15:09 字數 1389 閱讀 1433

一:如果想讓乙個函式能接受任意個引數,我們就可以定義乙個可變引數:

def fn(*args):

print args

python直譯器會把傳入的一組引數組裝成乙個tuple傳遞給可變引數,因此,在函式內部,直接把變數 args看成乙個 tuple 就好了。

二:list切片

取前n個元素,也就是索引為0-(n-1)的元素,可以用迴圈:

xingqi=["

","支付寶

","","

華為","

星期一","

mon","

星期二","

tus"

];r=;

n=5;

for i in

range(n):

print (r);

對這種經常取指定索引範圍的操作,用迴圈十分繁瑣,因此,python提供了切片(slice)操作符,能大大簡化這種操作。

對應上面的問題,取前3個元素,用一行**就可以完成切片:

取前1-4個元素,用一行**就可以完成切片:

print (xingqi[

1:4])

>>['

支付寶', '

', '華為'

]全部print (xingqi[:])

>>['

', '

支付寶', '

', '

華為', '

星期一', '

mon', '

星期二', '

tus'

]第三個引數表示每n個取乙個,上面的 l[::2] 會每兩個元素取出乙個來,也就是隔乙個取乙個。

print (xingqi[::3])

['', '

華為', '

星期二']

三:倒敘切片

對於list,既然python支援l[-1]取倒數第乙個元素,那麼它同樣支援倒數切片,試試:

>>> l = ['

adam

', '

lisa

', '

bart

', '

paul']

>>> l[-2:][

'bart

', '

paul']

>>> l[:-2][

'adam

', '

lisa']

>>> l[-3:-1][

'lisa

', '

bart']

>>> l[-4:-1:2][

'adam

', '

bart

']

記住倒數第乙個元素的索引是-1。倒序切片包含起始索引,不包含結束索引。

Python函式可變引數定義及其引數傳遞方式詳解

python函式可變引數定義及其引數傳遞方式詳解 python中 函式不定引數的定義形式如下 1 func args 傳入的引數為以元組形式存在args中,如 def func args print args func 1,2,3 1,2,3 func 1,2,3 這個方式可以直接將乙個列表的所有元...

詳解Python函式可變引數定義及其引數傳遞方式

python函式可變引數定義及其引數傳遞方式詳解 python中 函式不定引數的定義形式如下 1 func args 傳入的引數為以元組形式存在args中,如 def func args print args func 1,2,3 1,2,3 程式設計客棧gt func 1,2,3 這個方式可以直接...

Python中函式的引數定義和可變引數

剛學用python的時候,特別是看一些庫的原始碼時,經常會看到func args,kwargs 這樣的函式定義,這個 和 讓人有點費解。其實只要把函式引數定義搞清楚了,就不難理解了。先說說函式定義,我們都知道,下面的 定義了乙個函式funca def funca pass 顯然,函式funca沒有引...