2017-05-28 57 views
0

请帮忙,我使用扩展列表来追加多个值列表。Python列表扩展,用新行附加每个扩展值

我需要扩展到列表作为每个扩展的新行。

>>> list1 = [] 
>>> list1 = (['Para','op','qa', 'reason']) 
>>> list1.extend(['Power','pass','ok', 'NA']) 
>>> print list1 
['Para', 'op', 'qa', 'reason', 'Power', 'pass', 'ok', 'NA'] 

我需要将此列表提供给csv,它必须打印成两行。

Para, op, qa, reason 
Power, pass, ok, NA 

回答

3

如果你想单独列表,请将它们分开。不要使用list.extend(),使用追加

list1 = [['Para','op','qa', 'reason']] # brackets, creating a list with a list 
list1.append(['Power','pass','ok', 'NA']) 

现在list1是两个对象,每个本身就是一个列表的列表:

>>> list1 
[['Para', 'op', 'qa', 'reason'], ['Power', 'pass', 'ok', 'NA']] 

如果您使用的是csv module写出来你的CSV文件,使用csvwriter.writerows() method将每行写入单独的行:

>>> import csv 
>>> import sys 
>>> writer = csv.writer(sys.stdout) 
>>> writer.writerows(list1) 
Para,op,qa,reason 
Power,pass,ok,NA 
0

您的想要的结果list1应该是两个元素的列表,它们中的每一个都是一个列表本身。

list1 = ['Para','op','qa', 'reason'] 
# wrapping list1 with [] crates a new list which its first element is the original list1. 
# In your case, this action gives a list of lines with only one single line 
# Only after that I can add a new list of lines that contains another single line 
list1 = [list1] + [['Power','pass','ok', 'NA']] 
print (list1)