簡體   English   中英

如何使用循環中的 print(), 語句去除 output 中字符之間的空格?

[英]How do I get rid of the spaces between the characters in the output using a print(), statement in a loop?

這是我的代碼。

secretMessageList = [68, 111, 110, 116, 32, 100, 101, 99, 111, 100, 101, 32, 116, 104, 105, 115, 32, 109, 101, 115, 115, 97, 103, 101, 32, 111, 114, 32, 101, 108, 115, 101, 33]
for c in secretMessageList:
    print chr(c),

然后 output 看起來像這樣。

D o n t   d e c o d e   t h i s   m e s s a g e   o r   e l s e !

有沒有辦法讓 output 看起來像這樣?

Dont decode this message or else!

我試着查找是否有任何方法可以做到這一點,但沒有找到任何東西。

您可以先創建一個包含所有元素的字符串,然后打印結果,而不是打印每個字符。

print(''.join(map(chr, [68, 111, 110, 116, 32, 100, 101, 99, 111, 100, 101, 32, 116, 104, 105, 115, 32, 109, 101, 115, 115, 97, 103, 101, 32, 111, 114, 32, 101, 108, 115, 101, 33])))

map(chr, values)的結果與[chr(c) for c in values] “幾乎相同”。 然后可以將map() (地圖對象)的返回值傳遞給list() (創建列表)、 set() (創建集合)等函數,或直接在join中使用它。

一個更好的可讀解決方案是

ints = [68, 111, 110, 116, 32, 100, 101, 99, 111, 100, 101, 32, 116, 104, 105, 115, 32, 109, 101, 115, 115, 97, 103, 101, 32, 111, 114, 32, 101, 108, 115, 101, 33]
characters = [chr(c) for c in ints]
string = ''.join(characters)
print(string)

在 python 2.x 中, print方法應該不帶括號,因此您可能需要刪除它們(因為您用python-2.7標記了您的問題)。 對於 Python 3 及以上, print確實需要括號。

快樂編碼,祝你好運!

chr 列表中的每個項目,然后將它們連接成字符串:

secretMessageList = [68, 111, 110, 116, 32, 100, 101, 99, 111, 100, 101, 32, 116, 104, 105, 115, 32, 109, 101, 115, 115, 97, 103, 101, 32, 111, 114, 32, 101, 108, 115, 101, 33]
a="".join(list(chr(i) for i in secretMessageList))
print(a)

最簡單的就是改變字符print結尾:

secretMessageList = [68, 111, 110, 116, 32, 100, 101, 99, 111, 100, 101, 32, 116, 104, 105, 115, 32, 109, 101, 115, 115, 97, 103, 101, 32, 111, 114, 32, 101, 108, 115, 101, 33]
for c in secretMessageList:
    print(chr(c), end='') #<<

或許

print(''.join([chr(c) for c in secretMessageList]))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM