我有一系列数字。例如:
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数组。有什么帮助吗?
答案 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提出的解决方案的缩短版本。