2017-07-13 75 views
0

從具有由「;」分隔的多個值的表中獲取一行。我試圖將它存儲在一個列表中。一切正常,但不是python將它打印爲['a','b','c'] ...而是將它打印爲[['a','b','c']]。當我只想要一個列表時,Python將列表放入列表中

代碼下面

cur.execute("SELECT * FROM Main_Setup"); 
rows = cur.fetchall() 

job1= [] 
job2=[] 

for row in rows: 
    name = row[1] 
    fields = row[4].split(';') 
    if name == 'File1': 
     job1.append(fields) 

    elif name == 'file2': 
     job2.append(fields) 

輸出:

[['this field', ' another field']] 
[['haha', 'no', ' yes']] 

所需的輸出:

['this field', ' another field'] 
['haha', 'no', ' yes'] 

回答

1

代替使用append使用extend然後。像這樣:

cur.execute("SELECT * FROM Main_Setup"); 
rows = cur.fetchall() 

job1= [] 
job2=[] 

for row in rows: 
    name = row[1] 
    fields = row[4].split(';') 
    if name == 'File1': 
     job1.extend(fields) 

    elif name == 'file2': 
     job2.extend(fields) 

這是一個有點好奇,但因爲我還以爲查詢返回tuple S,不list S(所以你的輸出應該是[('this field', ' another field')])。但extend仍然工作。

+0

謝謝!像魅力一樣工作。 – iNeed2LearnToEat

相關問題