2017-05-28 56 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)