使用Python从多个数组打印值

时间:2015-07-22 06:20:40

标签: python numpy

我有一系列数字。例如:

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

我不知道如何打印空位,因为我已经从z创建了x和y数组。有什么帮助吗?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分: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])

答案 2 :(得分: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

这是Red Shift提出的解决方案的缩短版本。