2014-02-26 105 views
-1

我有一個像元素(x,y,值)的列表如何將列表打印爲數組,其中列表中的所有元素都與x在同一行上?打印列表作爲數組Python Python

我試過,但它不工作

def print_list(l,size): 
    for x in l: 
     print x[2] 

我的主要問題是,我不知道如何打印列表的元素在同一直線上,造成這種方式打印每個元素一條新線。

編輯:我不太清楚我的名單模擬例如用於大小= 2我的列表中的數組將有這樣的內容:

[0,0,value1] 
[0,1,value2] 
[1,0,value3] 
[1,1,value3] 

我的功能打印這樣說:

value1 
value2 
value3 
value4 

我想修改我的功能,以進行打印:

value1 value2 
value3 value4 
+0

'打印X [0],'完蛋了:) – thefourtheye

回答

2

編輯:

這應該工作:

def print_list(l,size): 
    for n in range(0, len(l), size): 
     values = [str(x[2]) for x in l[n:n+size]] 
     print(' '.join(values)) 

原來的答覆:

使用the print statement

def print_list(l,size): 
    for x in l: 
     print x[2], 

或使用the print function

from __future__ import print_function 
def print_list(l,size): 
    for x in l: 
     print(x[2], end='') 

注意:在print語句後面添加逗號會在打印的字符串後面添加一個空格。如果你不想要這個空間,那麼最好使用print函數。

+0

我試圖讓你的編碼風格不變。但是,你真的應該用空格分隔參數:''def print_list(l,size):''。另外,你不應該使用''l''作爲變量名稱。這很容易誤讀。如果你真的想要列出''l'',請改爲使用''L''。 – tsroten

+0

Thx我會記住你的建議! – JmRag

0
def print_list(l,size): 
    for x in l: 
     print x[0] 
+0

他想在同一行中的元素,你可能想使用'打印X [0],' – thefourtheye

-1

您可以在numpy模塊中生成數組,該數組在打印時將其條目排列爲整齊的行和列。

import numpy 

lst = [('a',1,'hi'), ('b',2,'my'), ('c',3,'name'), ('d',4,'is')] 
arr = numpy.array(lst) 
print(arr) 

如果你想看到1,2,3,4在同一行同一列反對,轉置陣。

arr_t = arr.transpose() 
print(arr_t) 

希望這會有所幫助。如果我誤解了你的問題,請毫不猶豫地指出。

0

pprint或漂亮的印花,對於這種類型的東西來說非常棒。開箱即用,它不會像您所詢問的那樣給出完全相同的輸出結果,但它足夠靈活,可以用於很多其他情況。

from pprint import pprint 

pprint(l, width=width)