33

使用 python 我想在同一行上打印一系列数字。我如何使用 python 来做到这一点,我可以通过不添加来使用 C 来做到这一点\n,但是我如何使用 python 来做到这一点。

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

我试图得到这个结果。

1 2 3 4 5 6 7 8 9 10
4

13 回答 13

68
>>>print(*range(1,11)) 
1 2 3 4 5 6 7 8 9 10

Python 一班轮打印范围

于 2017-04-18T05:24:29.710 回答
43

蟒蛇2

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

蟒蛇 3

for x in range(1,11):
    print(x, end=" ") 
于 2013-08-25T01:51:22.720 回答
11
for i in range(10):
    print(i, end = ' ')

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

这适用于 Python 3

于 2017-02-19T09:42:27.147 回答
9

str.join在这种情况下是合适的

>>> print ' '.join(str(x) for x in xrange(1,11))
1 2 3 4 5 6 7 8 9 10 
于 2013-08-25T03:23:30.540 回答
3

这是一个老问题,xrangePython3 不支持。

你可以试试 -

print(*range(1,11)) 

或者

for i in range(10):
    print(i, end = ' ')
于 2018-10-06T08:40:44.930 回答
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
>>>
于 2013-08-25T02:18:02.163 回答
1
[print(i, end = ' ') for i in range(10)]
0 1 2 3 4 5 6 7 8 9

这是与@Anubhav 相同的答案列表理解方法

于 2017-11-15T20:22:23.303 回答
0

虽然已经给出了这个问题的答案。我想补充一下,如果我们需要打印没有任何空格的数字,那么我们可以使用以下代码

        for i in range(1,n):
            print(i,end="")
于 2018-10-22T01:46:04.657 回答
0
n = int(input())
for i in range(1,n+1):
    print(i,end='')
于 2019-06-22T07:46:35.710 回答
0

另一个单行 Python 3 选项,但带有显式分隔符:

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

于 2019-05-20T06:14:22.887 回答
0
for i in range(1,11):
    print(i)

我知道这是一个老问题,但我认为现在可行

于 2017-01-11T20:24:11.797 回答
0

end = " "在 print 函数中使用 ,

代码:

for x in range(1,11):
       print(x,end = " ")
于 2019-09-10T06:13:57.600 回答
-1

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

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))
于 2021-03-02T08:14:42.520 回答