如何将2个列表分成1个列表

时间:2018-05-15 17:29:12

标签: python python-2.7

我有这样的代码:

F37,0,1,0,1,1,1,0,1,0,2,1,0,0,0,1
F10,8,4,3,3,3,6,8,5,8,4,8,4,5,6,4
F8,1,0,2,0,0,0,2,0,0,0,0,0,2,0,0

我想在self.fiturs,in self.fiturs中配对价值:

F37,"['1', '0', '0', '0', '1']"
F10,"['8', '4', '5', '6', '4']"
F8,"['0', '0', '2', '0', '0']"

所以我想将index [0]和index [-5:]配对并将其写入csv,csv上的输出如下:

F37,1,0,0,0,1
F10,8,4,5,6,4
F8,0,0,2,0,0

我对csv的期望是这样的:

import sys
import datetime

while(True):
    sys.stdout.write("\r" + "[ " + "Time: " + datetime.date.today().strftime("%Y-%m-%d") + " ]")    
    sys.stdout.flush()

我该如何解决?

1 个答案:

答案 0 :(得分:1)

您对代码的问题是正确的,可以在以下行中找到:

a = [x[0],x[-5:]]

这会创建如下所示的嵌套项:

['F37', ['1', '0', '0', '0', '1']]

以下两种解决方法:

选项1 - 使用splat*运算符:

a = [x[0],*x[-5:]]

选项2 - 连接列表的两个片段:

a = x[:1] + x[-5:]

这两个都将删除列表的嵌套,而是为您提供如下行:

['F37', '1', '0', '0', '0', '1']

然后您可以将其写入输出文件。