2017-03-16 122 views
-1

如何拆分列表中的多個列表並將它們存儲在某種變量中,以便它們可以被測試。Python拆分多個列表

例如

[[2,3], [6,1,7,2], [3,4,1]] 

分裂後會是這樣的

[2,3] 
[6,1,7,2] 
[3,5,1,] 

我在哪裏可以使用它們中的每一個爲我的其他功能參數。 這是可能的,如果是這樣我怎麼能產生這個?

在此先感謝,新的python抱歉!

+0

我會說他們已經分裂了 –

+0

但是你爲什麼要分裂然後傳遞給一個函數呢?如果你的'lst = [[2,3],[6,1,7,2],[3,4,1]]'和你的方法需要第一個和最後一個元素,那麼簡單地執行:'call_method(lst [ 0],lst [2])' – ZdaR

+0

你有子列表的子列表嗎?例如[[4,[5,6]],[7,8]]。你有單獨的物品嗎?例如[4,[5,6],[7,8]]。 – Ambitions

回答

1
for x in [[2,3], [6,1,7,2], [3,4,1]]: 
    your_f(*x) 

通過列表的列表這將循環中,選擇每個子列表爲x,並且然後經由*(其具有特殊的名字某處)拆包的內容作爲參數在your_f

阿卡在第一次循環,代碼將執行your_f(2, 3)

+0

謝謝!幫助堆:) – Bruce219

+1

當'*'用於解包時,它通常被稱爲splat操作符。 –

+0

任何時候布魯斯! @ Bruce219 – Charlie

1

如果你只是要提取的內表到其它變量,你可以使用這個:

li = [[2,3], [6,1,7,2], [3,4,1]] 
a, b, c = li 
print(a, b, c) 

輸出[2, 3] [6, 1, 7, 2] [3, 4, 1]

如果你有一個函數需要三個列表,你可以使用這個:

def foo(a, b, c): 
    print(a, b, c) 

foo(*li) 

輸出是一樣的。 它被稱爲Unpacking Argument Lists

+0

這就是我尋找的東西,然而,「for語句」更好地用來代替初始化a,b,c,因爲我的列表不是預定義的。 – Bruce219