Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.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/4/string/5.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_String_List_Join - Fatal编程技术网

Python 将列表列表转换为字符串列表(或浮点)

Python 将列表列表转换为字符串列表(或浮点),python,string,list,join,Python,String,List,Join,我有这个: [[['0'], ['0'], ['0'], ['0'], ['0'], ['0.0178885743420442']], [['0'], ['0'], ['0'], ['0'], ['0.00189664199330356'], ['0.0105739740488949']], [['0'], ['0'], ['0'], ['0'], ['0'], ['0.0131745569045574']]] 最后,我想得到: [['0', '0', '0', '0', '0', '0.0

我有这个:

[[['0'], ['0'], ['0'], ['0'], ['0'], ['0.0178885743420442']], [['0'], ['0'], ['0'], ['0'], ['0.00189664199330356'], ['0.0105739740488949']], [['0'], ['0'], ['0'], ['0'], ['0'], ['0.0131745569045574']]] 
最后,我想得到:

[['0', '0', '0', '0', '0', '0.0178885743420442'], ['0', '0', '0', '0', '0.00189664199330356', '0.0105739740488949'], ['0', '0', '0', '0', '0', '0.0131745569045574']]
我试着用join,但什么也没发生
谢谢

只需做一个列表:

x = [['0'], ['0'], ['0'], ['0'], ['0'], ['0.0216939116219239'], ['0.44748960163182'], ['1.47290267132899'], ['2.34321826311047'], ['2.99520324761532'], ['3.11538509056595'], ['3.46600327678834'], ['2.80910123913849']]
print [j for i in x for j in i]
输出:

['0', '0', '0', '0', '0', '0.0216939116219239', '0.44748960163182', '1.47290267132899', '2.34321826311047', '2.99520324761532', '3.11538509056595', '3.46600327678834', '2.80910123913849']
[0, 0, 0, 0, 0, 0.0216939116219239, 0.44748960163182, 1.47290267132899, 2.34321826311047, 2.99520324761532, 3.11538509056595, 3.46600327678834, 2.80910123913849]

输出:

['0', '0', '0', '0', '0', '0.0216939116219239', '0.44748960163182', '1.47290267132899', '2.34321826311047', '2.99520324761532', '3.11538509056595', '3.46600327678834', '2.80910123913849']
[0, 0, 0, 0, 0, 0.0216939116219239, 0.44748960163182, 1.47290267132899, 2.34321826311047, 2.99520324761532, 3.11538509056595, 3.46600327678834, 2.80910123913849]
这将起作用(拾取每个子列表的第一个元素):


您可以将Python列表理解与函数结合使用,如下所示:

from itertools import chain

data = [[['0'], ['0'], ['0'], ['0'], ['0'], ['0.0178885743420442']], [['0'], ['0'], ['0'], ['0'], ['0.00189664199330356'], ['0.0105739740488949']], [['0'], ['0'], ['0'], ['0'], ['0'], ['0.0131745569045574']]]

output = [list(chain.from_iterable(x)) for x in data]
print output
[['0', '0', '0', '0', '0', '0.0178885743420442'], ['0', '0', '0', '0', '0.00189664199330356', '0.0105739740488949'], ['0', '0', '0', '0', '0', '0.0131745569045574']]
将每个子条目合并为子条目

为您提供所需的输出,如下所示:

from itertools import chain

data = [[['0'], ['0'], ['0'], ['0'], ['0'], ['0.0178885743420442']], [['0'], ['0'], ['0'], ['0'], ['0.00189664199330356'], ['0.0105739740488949']], [['0'], ['0'], ['0'], ['0'], ['0'], ['0.0131745569045574']]]

output = [list(chain.from_iterable(x)) for x in data]
print output
[['0', '0', '0', '0', '0', '0.0178885743420442'], ['0', '0', '0', '0', '0.00189664199330356', '0.0105739740488949'], ['0', '0', '0', '0', '0', '0.0131745569045574']]

您好,我不明白什么是“ast.literal_eval(j)
ast.literal_eval
安全地计算python表达式(literal),并且对于将字符串转换为本机类型非常有用,例如
ast.literal_eval('0')
将返回
int
,其中as
ast.literal_eval('0.02169391162219239'))
将返回一个
float
@MeiOlya请参见上面的评论。您可以展示您所做的吗?您正在寻找压扁列表的方法,并且有很多压扁列表的示例,例如,没有,有一条错误消息:序列项0:预期的字符串,列表找到的
join
将仅对包含字符串的iterable有效。它不会对iterable包含列表。它基本上是一个字符串连接函数。@MeiOlya,您最初发布了不同的输入和输出。发布解决方案后,您编辑了整个输入和输出,使所有发布的解决方案无效。实际上,我有这样一个列表:[[[['0'],['0'],['0'],['0'],['0'],['0.0178885743420442'],['0'],['0']、['0']、['0']、['0']、['0.00189664199330356']、['0.0105739740488949']、['0']、['0']、['0']、['0']、['0']、['0']、['0.01317455690455574']]使用一个循环,我不能用你的建议来实现,不是吗?
>>>>>[x[x[0]为y中的x在列表中为y的x[x[0'],[0'],[0'],[0'],[0'],[0'],[0'],[0'],[0'],[0'],[0'],[0'],[0'],[0'],['0', '0', '0', '0', '0.00189664199330356', '0.0105739740488949'], ['0', '0', '0', '0', '0', '0.0131745569045574']]但在您的代码中,所有列表都将在任何人否决此答案之前确定:此人最初提出了不同的问题,而此答案是针对该问题的。现在问题本身已更改,此答案将不会回答新问题。