2017-03-16 207 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