我有一個數組數組。例如:使用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陣列。任何幫助?
我有一個數組數組。例如:使用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陣列。任何幫助?
打印大空間的方法是插入一個選項卡。這是通過打印代表製表符的"\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
您可以使用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])
您可以使用下面的代碼
a = (3, 2, 3, 4, 5, 6)
print "z\tx\ty"
for i,e in enumerate(a):
print i, "\t"*(i%2+1), e
這是紅移提出了一個較短的版本的解決方案。
所以如果我正確地得到這個,x和y是z的子列表,它們也是互斥的? –
是@AnandSKumar –