簡體   English   中英

如何將列表轉換為 Python 中帶空格的字符串?

[英]How do I convert a list into a string with spaces in Python?

如何將列表轉換為 Python 中以空格分隔的字符串?

例如,我想轉換這個列表:

my_list = ["how", "are", "you"]

進入字符串"how are you"

空格很重要。 我不想得到"howareyou"

" ".join(my_list)

你需要加入一個空格而不是一個空字符串......

我將把它作為替代方案,只是為了它,即使與字符串的" ".join(my_list)相比它幾乎沒用。 對於非字符串(例如整數數組),這可能更好:

" ".join(str(item) for item in my_list)

對於非字符串list我們也可以這樣做

" ".join(map(str, my_list))

因此,為了實現所需的輸出,我們首先應該知道該函數是如何工作的。

python 文檔中描述的join()方法的語法如下:

string_name.join(iterable)

需要注意的事項:

  • 它返回一個與iterable元素連接的string 元素之間的分隔符是string_name
  • iterable中的任何非字符串值都會引發TypeError

現在,要添加空格,我們只需要將string_name替換為" "' ' ,它們都可以工作並放置我們想要連接的iterable

所以,我們的函數看起來像這樣:

' '.join(my_list)

但是,如果我們想在iterable的元素之間添加特定數量的white spaces怎么辦?

我們需要添加這個:

str(number*" ").join(iterable)

在這里, number將是用戶輸入。

因此,例如如果number=4

然后, str(4*" ").join(my_list)將是how are you ,因此在每個單詞之間有 4 個空格。

"".join([i for i in my_list])

這應該像你問的那樣工作!

你可以遍歷它來做到這一點

my_list = ['how', 'are', 'you']
my_string = " "
for a in my_list:
    my_string = my_string + ' ' + a
print(my_string)

輸出是

 how are you

你可以把它剝離得到

how are you

像這樣

my_list = ['how', 'are', 'you']
my_string = " "
for a in my_list:
    my_string = my_string + ' ' + a
print(my_string.strip())

為什么不在列表本身的項目中添加一個空格,例如:
list = ["how ", "are ", "you "]

暫無
暫無

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

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