2010-03-24 61 views
5

我有一個嵌套列表包括〜30000子列表,每個具有三個條目,例如,Python - 嵌套列表到製表符分隔文件?

nested_list = [['x', 'y', 'z'], ['a', 'b', 'c']]. 

我希望以創建一個函數來輸出這個數據構建體導入製表符分隔的格式,例如,

x y z 
a b c 

任何幫助非常感謝!

在此先感謝, Seafoid。

+2

你有什麼這麼遠嗎?任何代碼嘗試部分工作? – 2010-03-24 17:00:32

回答

5
with open('fname', 'w') as file: 
    file.writelines('\t'.join(i) + '\n' for i in nested_list) 
6
>>> nested_list = [['x', 'y', 'z'], ['a', 'b', 'c']] 
>>> for line in nested_list: 
... print '\t'.join(line) 
... 
x y z 
a b c 
>>> 
+0

只是好奇,它會幫助將子列表存儲爲3元組而不是列表?性能明智嗎? – 2010-03-24 17:17:41

+0

@TheMachineCharmer:隨意使用'timeit'來查看實際影響。 http://docs.python.org/library/timeit.html – 2010-03-24 17:23:26

+0

@TheMachineCharmer:請注意,真正的代碼可能沒有以這種方式硬編碼列表,但從文件讀取它們或從另一個來源獲取它們 – 2010-03-24 17:28:31

2
>>> print '\n'.join(map('\t'.join,nested_list)) 
x  y  z 
a  b  c 
>>> 
1
out = file("yourfile", "w") 
for line in nested_list: 
    print >> out, "\t".join(line) 
4

在我看來,這是一個簡單的一行:

print '\n'.join(['\t'.join(l) for l in nested_list])