2014-10-01 67 views
0

我是python的新手,無法在線找到。如何從文件讀取數據以將數據存儲到兩個一維列表中?

由於包含一個.txt文件:

Apple : Red 
Orange : Orange 
Banana : Yellow 

如何,我可以得到兩個列表像[Apple, Orange, Banana],並[Red, Orange, Yellow]? 我在互聯網上看到了一些例子,但結果是一個二維列表。

with open('fruit.txt') as f: 
    List= [x.strip().split(':') for x in f.readlines()] 
print List 

回答

5

你可以簡單地zip的分割線,然後將其解壓到兩個變量,這樣

with open('fruit.txt') as f: 
    fruits, colors = zip(*(line.strip().split(":") for line in f)) 

print fruits, colors 
# ('Apple ', 'Orange', 'Banana') (' Red', ' Orange', ' Yellow') 
1
fruit = [] 
color = [] 
with open('fruit.txt') as f: 
    for line in f: 
     fruit.append(line.split(':')[0].strip()) 
     color.append(line.split(':')[1].strip()) 
0

進口CSV圖書館,在那裏你可以閱讀的線條和分隔字/每行中的字段。 在你的情況下,它是":"

而且每個字/場追加到列表中,您想使用列表法list.append()

import csv 
a=[] 
b=[] 
with open('fruit.txt') as f: 

     for row in csv.reader(f, delimiter=":"): 

       a.append(row[0]) 
       b.append(row[1]) 


print a 
print b 
相關問題