[英]How to pair 2 list into 1 list
我有这样的代码:
def datauji(self):
uji = []
for x in self.fiturs:
a = [x[0],x[-5:]] #I think the problem in this line
uji.append(a)
return uji
with open('DataUjiBaru.csv','wb') as dub:
testing = csv.writer(dub)
datatest = d.datauji()
datatest.pop(0)
for x in datatest:
testing.writerow(x)
我想将self.fiturs中的值配对,在self.fiturs中:
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
所以我想将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的期望是这样的:
F37,1,0,0,0,1
F10,8,4,5,6,4
F8,0,0,2,0,0
我该如何解决?
您的代码问题是正确的,可在以下行找到它:
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']
然后可以将其写入输出文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.