2013-11-10 126 views
-1

我想刪除每個打印的變量之間的空格,並用逗號替換它們。在Python中用逗號替換變量之間的空格

在當前狀態下,字符串然後每個都可以用可分隔的空格進行分隔。

例如,如果a = 1且每個變量增加1,那麼將打印:1 2 3 4 5 6 7 8 9.我希望它打印:1,2,3,4,5, 6,7,8,9。

我該怎麼做?

謝謝。

這裏是我試圖改變代碼:

print("Test: ", a,b,c,d,e,f,g,h,i) 

回答

1

@馬亭的答案是更好的方式來做到這一點,但只是讓你知道這是可能的,功能print需要一個關鍵字參數,sep,指定什麼參數之間打印功能之間。

>>> print('Test:', a,b,c,d,e,f,g,h,i, sep=',') 
Test:, 1,2,3,4,5,6,7,8,9 

正如你所看到的,它也在「測試:」後打印逗號,這可能不是你想要的。

+0

這就是爲什麼我刪除了與此相同的答案:)其他儘管雜亂的選項是'print'('Test':',end ='')'然後'print(a,b,c, d,e,f,g,h,i,sep =',')' –

+0

對!我肯定會選擇'「,」。join()'。 –

+0

感謝您的幫助。我將使用這個代碼。 – user2975192

2

使用str.join()

print('Test:', ','.join(map(str, [a, b, c, d, e, f, g, h, i]))) 

map()呼籲確保所有值都是字符串第一。

演示:

>>> a, b, c, d, e, f, g, h, i = range(1, 10) 
>>> print('Test:', ','.join(map(str, [a, b, c, d, e, f, g, h, i]))) 
Test: 1,2,3,4,5,6,7,8,9 
0

加入iterables是Python新手學習最令人沮喪的事情之一。例如,沒有列表的連接方法。

理由是這是一個字符串方法。它是有道理的,因爲它返回一個字符串。

但是,內置的join()函數需要一個迭代器,並且要在其中加入項目的字符串會很有意義並且可以獲得我的支持。

然而,Python的優勢在於,這些基本但反直覺的操作非常少。