Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.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 如何从列表中删除double[]?_Python_List_Dataframe - Fatal编程技术网

Python 如何从列表中删除double[]?

Python 如何从列表中删除double[]?,python,list,dataframe,Python,List,Dataframe,我有这样一份清单: my_lst = [[1,2,3,4]] 我想知道如何从列表中删除[]以获得以下列表: my_lst = [1,2,3,4] 你有一个列表 my_lst = my_lst[0] #get the first list of the list 您有一个包含一个元素的列表,该元素本身就是一个列表。您希望变量只是第一个元素,列表1,2,3,4。双精度[[]]是因为您有一个包含列表的列表。要获取内部列表,只需为其编制索引: my_lst = my_lst[0] 或打开包

我有这样一份清单:

  my_lst = [[1,2,3,4]]
我想知道如何从列表中删除[]以获得以下列表:

 my_lst = [1,2,3,4]

你有一个列表

my_lst = my_lst[0] #get the first list of the list
您有一个包含一个元素的列表,该元素本身就是一个列表。您希望变量只是第一个元素,列表1,2,3,4。

双精度[[]]是因为您有一个包含列表的列表。要获取内部列表,只需为其编制索引:

my_lst = my_lst[0]
或打开包装:

[my_lst] = my_lst
解包有一个温和的优点,即如果外部列表不包含一个值,那么它会给您一个错误,而my_lst[0]会自动放弃任何额外的值

如果外部列表的长度可能不止一个,则可以使用itertools实现这一点,而无需编写显式循环

In [47]: import itertools                                                       


In [49]: list(itertools.chain.from_iterable([[1, 2, 3], [1, 2]]))                       
Out[49]: [1, 2, 3, 1, 2]

您可以使用sum减少一维


@反社会者:它可能在dict中,从技术上讲,它是现代Python中的一种合法类型注释,但是的,它本身不可能是任何人真正想要的。这是一种非常糟糕的通用方法。如果单个内部列表的情况有点奇怪的话,这正好是好的,但是当涉及到列表的iterable的广义平坦化时,二次运行时,将itertools.chain/itertools.chain.from_iterable生成的迭代器列表化是这种情况的正确解决方案,具有线性运行时。
In [47]: import itertools                                                       


In [49]: list(itertools.chain.from_iterable([[1, 2, 3], [1, 2]]))                       
Out[49]: [1, 2, 3, 1, 2]
my_lst=sum(my_lst,[])
# [1,2,3,4]