在同一行上打印数字范围

时间:2013-08-25 01:50:31

标签: python python-2.7

使用python我想在同一行上打印一系列数字。如何使用python执行此操作,我可以通过不添加\n来使用C来完成此操作,但是如何使用python执行此操作。

for x in xrange(1,10):
    print x

我想要得到这个结果。

1 2 3 4 5 6 7 8 9 10

13 个答案:

答案 0 :(得分:34)

{{1}}

Python one liner打印范围

答案 1 :(得分:20)

for x in xrange(1, 10):
    print x,

答案 2 :(得分:8)

for i in range(10):
    print(i, end = ' ')

您可以为结束字段(空格,逗号等)提供任何分隔符

这适用于Python 3

答案 3 :(得分:7)

在这种情况下,

str.join是合适的

>>> print ' '.join(str(x) for x in xrange(1,11))
1 2 3 4 5 6 7 8 9 10 

答案 4 :(得分:1)

使用stdout可以实现同样的效果。

>>> from sys import stdout
>>> for i in range(1,11):
...     stdout.write(str(i)+' ')
...
1 2 3 4 5 6 7 8 9 10 

或者,可以使用reduce()

完成相同的操作
>>> xrange = range(1,11)
>>> print reduce(lambda x, y: str(x) + ' '+str(y), xrange)
1 2 3 4 5 6 7 8 9 10
>>>

答案 5 :(得分:1)

[print(i, end = ' ') for i in range(10)]
0 1 2 3 4 5 6 7 8 9

这是一个与@Anubhav相同的列表理解方法

答案 6 :(得分:1)

这是一个老问题,Python3不支持xrange

您可以尝试-

print(*range(1,11)) 

OR

for i in range(10):
    print(i, end = ' ')

答案 7 :(得分:0)

for i in range(1,11):
    print(i)

我知道这是一个老问题,但我认为现在有效了

答案 8 :(得分:0)

尽管已经给出了答案。我想补充一下,如果万一我们需要打印没有空格的数字,那么我们可以使用以下代码         对于范围(1,n)中的i:             打印(i,end =“”)

答案 9 :(得分:0)

另一个单行Python 3选项,但带有明确的分隔符:

print(*range(1,11), sep=' ')

答案 10 :(得分:0)

n = int(input())
for i in range(1,n+1):
    print(i,end='')

答案 11 :(得分:0)

在打印功能内使用end = " "

代码:

for x in range(1,11):
       print(x,end = " ")

答案 12 :(得分:0)

这是一个解决方案,可以像 scipy pdf 一样处理 x 的单行或多行:

from scipy.stats import multivariate_normal as mvn

# covariance matrix
sigma = np.array([[2.3, 0, 0, 0],
           [0, 1.5, 0, 0],
           [0, 0, 1.7, 0],
           [0, 0,   0, 2]
          ])
# mean vector
mu = np.array([2,3,8,10])

# input
x1 = np.array([2.1, 3.5, 8., 9.5])
x2 = np.array([[2.1, 3.5, 8., 9.5],[2.2, 3.6, 8.1, 9.6]])


def multivariate_normal_pdf(x, mu, cov):
    x_m = x - mu

    if x.ndim > 1:
        sum_ax = 1
        t_ax = [0] 
        t_ax.extend(list(range(x_m.ndim)[:0:-1])) # transpose dims > 0
    else:
        sum_ax = 0
        t_ax = range(x_m.ndim)[::-1]


    x_m_t = np.transpose(x_m, axes=t_ax) 
    A = 1 / ( ((2* np.pi)**(len(mu)/2)) * (np.linalg.det(cov)**(1/2)) )
    B = (-1/2) * np.sum(x_m_t.dot(np.linalg.inv(cov)) * x_m,axis=sum_ax)
    return A * np.exp(B)

print(mvn.pdf(x1, mu, sigma))
print(multivariate_normal_pdf(x1, mu, sigma))

print(mvn.pdf(x2, mu, sigma))
print(multivariate_normal_pdf(x2, mu, sigma))