在没有空格的python中打印列表

时间:2014-11-27 15:33:37

标签: python printing

我正在做一个程序,将基数10中的数字更改为基数7,所以我这样做了:

num = int(raw_input(""))
mod = int(0)
list = []
while num> 0:
    mod = num%7
    num = num/7
    list.append(mod)
list.reverse()
for i in range (0,len(list)):
    print list[i],

但如果数字为210则打印4 2 0我如何摆脱空格

8 个答案:

答案 0 :(得分:5)

您可以使用与列表理解的连接:

>>> l=range(5)
>>> print l
[0, 1, 2, 3, 4]
>>> ''.join(str(i) for i in l)
'01234'

此外,不要将list用作变量名称,因为它是内置函数。

答案 1 :(得分:1)

看看sys.stdout。它是一个文件对象,包装标准输出。每个文件都有write方法,它接受字符串,并直接将它放到STDOUT。它也不会改变或添加任何字符,因此当您需要完全控制输出时它很方便。

>>> import sys
>>> for n in range(8):
...     sys.stdout.write(str(n))
01234567>>> 

注意两件事

  • 你必须将字符串传递给函数。
  • 打印后你没有换行。

此外,了解您使用的构造非常方便:

for i in range (0,len(list)):
   print list[i],

相当于(坦率地说更有效率):

for i in list:
    print i,

答案 2 :(得分:0)

使用list_comprehension。

num= int(raw_input(""))
mod=int(0)
list =[]
while num> 0:
    mod=num%7
    num=num/7
    list.append(mod)
list.reverse()
print ''.join([str(list[i]) for i in range (0,len(list))])

答案 3 :(得分:0)

将列表转换为字符串,并替换空格。

strings = ['hello', 'world']

print strings

>>>['hello', 'world']

print str(strings).replace(" ", "")

>>>['hello','world']

答案 4 :(得分:0)

在Python3中为我做以下工作

describe('API Throws Errors', () => {
  beforeEach(() => {
    // axios.get.mockImplementation(() => Promise.reject('rejected'));
    jest.mock('axios', () => ({
      get: jest.fn().mockReturnValue(Promise.reject('error'))
    }));
  });

  it('get fails', async () => {
    await expect(() => {
      API.get(GROUPS.url());
    }).rejects.toEqual('error');
  });

  afterEach(() => {
    jest.clearAllMocks();
  });
});

答案 5 :(得分:0)

print() 函数有一个参数来指定结束字符,默认情况下是 '\n'。将结束字符指定为 '' 并使用循环打印将满足您的要求:

n_list = [1,2,3,4,5]
for i in n_list:
    print(i, end='')

答案 6 :(得分:0)

你可以使用下面的python3代码片段

print(*list(range(1, n + 1)), sep='')
  • * 将删除开头和结尾字符,如 [{}]
  • sep = '' 将删除项目之间的空格。

答案 7 :(得分:-1)

s = "jay"
list = [ i for i in s ]

打印list会得到:

  

['j','a','y']

new_s = "".join(list)

如果您打印new_s

  

“杰伊”