2015-07-22 25 views
1

我有一個數組數組。例如:使用Python從幾個數組中打印值

a = (1,2,3,4,5,6) 

現在我需要根據一些標準從a創建另外兩個數組。說x偶數數組和y數組的奇數。

我已經這樣做了。但是,接下來的事情就是,我想下面公佈他們:

z x y 
1  1 
2 2 
3  3 
4 4 
5  5 
6 6 

我不知道如何打印空白的地方,因爲我已經從ž創建x和y陣列。任何幫助?

+0

所以如果我正確地得到這個,x和y是z的子列表,它們也是互斥的? –

+0

是@AnandSKumar –

回答

1

打印大空間的方法是插入一個選項卡。這是通過打印代表製表符的"\t"完成的。

此代碼是:

a = (1, 2, 3, 4, 5, 6) 
print "z\tx\ty" # Print top line separated by tab characters 
for i in a: # For each element in the list 
    if i % 2 == 0: # If the element is even 
     print i, "\t", i 
    else: # If it is odd 
     print i, "\t\t", i 

輸出:

z x y 
1  1 
2 2 
3  3 
4 4 
5  5 
6 6 
0

您可以使用simple indexing

>>> a =np.array([1,2,3,4,5,6]) 
>>> x,y=a[0::2],a[1::2] 
>>> x 
array([1, 3, 5]) 
>>> y 
array([2, 4, 6]) 

或者作爲一個更普遍的方式來將一個條件你您可以使用np.where陣列:

>>> np.where(a%2!=0)[0] 
array([0, 2, 4]) 
>>> 
>>> np.where(a%2==0)[0] 
array([1, 3, 5]) 
0

您可以使用下面的代碼

a = (3, 2, 3, 4, 5, 6) 
print "z\tx\ty" 
for i,e in enumerate(a): 
    print i, "\t"*(i%2+1), e 

這是紅移提出了一個較短的版本的解決方案。