Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中取消单击列表列表_Python_List_List Comprehension_Unpack - Fatal编程技术网

在Python中取消单击列表列表

在Python中取消单击列表列表,python,list,list-comprehension,unpack,Python,List,List Comprehension,Unpack,我在Python中有一个包含3个列表的列表 mylist = [[1, 2, 3], [10, 20, 30], [100, 200, 300]] 我用3行代码解包 first= [m[0] for m in mylist] second = [m[1] for m in mylist] third = [m[2] for m in mylist] 我希望找到一个有效的同一行代码…您可以使用zip: first,second,third = zip(*[[1, 2, 3], [10, 20,

我在Python中有一个包含3个列表的列表

mylist = [[1, 2, 3], [10, 20, 30], [100, 200, 300]]
我用3行代码解包

first= [m[0] for m in mylist]
second = [m[1] for m in mylist]
third = [m[2] for m in mylist]

我希望找到一个有效的同一行代码…

您可以使用
zip

first,second,third = zip(*[[1, 2, 3], [10, 20, 30], [100, 200, 300]])

In [10]: first
Out[10]: (1, 10, 100)

In [11]: second
Out[11]: (2, 20, 200)

In [12]: third
Out[12]: (3, 30, 300)

您可以使用
zip

first,second,third = zip(*[[1, 2, 3], [10, 20, 30], [100, 200, 300]])

In [10]: first
Out[10]: (1, 10, 100)

In [11]: second
Out[11]: (2, 20, 200)

In [12]: third
Out[12]: (3, 30, 300)

你确定你不应该用这个吗

>>> import numpy
>>> myarray = numpy.array(mylist)
>>> myarray
array([[  1,   2,   3],
       [ 10,  20,  30],
       [100, 200, 300]])
直接访问即可:

>>> myarray[...,0]
array([  1,  10, 100])
>>> myarray[...,1]
array([  2,  20, 200])
>>> myarray[...,2]
array([  3,  30, 300])
如果你愿意,也可以给他们起名字:

>>> a, b, c = myarray
>>> a
array([1, 2, 3])
>>> b
array([10, 20, 30])
>>> c
array([100, 200, 300])
>>> d, e, f = myarray.transpose()
>>> d
array([  1,  10, 100])
>>> e
array([  2,  20, 200])
>>> f
array([  3,  30, 300])

你确定你不应该用这个吗

>>> import numpy
>>> myarray = numpy.array(mylist)
>>> myarray
array([[  1,   2,   3],
       [ 10,  20,  30],
       [100, 200, 300]])
直接访问即可:

>>> myarray[...,0]
array([  1,  10, 100])
>>> myarray[...,1]
array([  2,  20, 200])
>>> myarray[...,2]
array([  3,  30, 300])
如果你愿意,也可以给他们起名字:

>>> a, b, c = myarray
>>> a
array([1, 2, 3])
>>> b
array([10, 20, 30])
>>> c
array([100, 200, 300])
>>> d, e, f = myarray.transpose()
>>> d
array([  1,  10, 100])
>>> e
array([  2,  20, 200])
>>> f
array([  3,  30, 300])

对于矩阵(每行长度相同的列表列表),
zip(*data)
相当于转置函数。@Icardor,ndarray.transpose()比zip有什么优势?我指的是转置的高级概念。在Python中,它被称为zip。在NumPy中,它被称为转置。在MATLAB中,它被称为转置或A’。我不熟悉numpy的
ndarray.transpose
函数是如何编写的,因此我无法说明它与Python内置的
zip
相比如何。对于矩阵(每行长度相同的列表列表),
zip(*data)
等同于transpose函数。@Icardor,有什么优势ndarray.transpose()有over-zip吗?我指的是转置的高级概念。在Python中,它被称为zip。在NumPy中,它被称为转置。在MATLAB中,它被称为转置或A’。我不熟悉numpy的
ndarray.transpose
函数是如何编写的,因此我无法与Python内置的
zip
进行比较。