在 Python 中連線字串列表
-
在 Python 中使用
join()
方法將列表轉換為單個字串 -
在 Python 中使用
map()
函式將任何資料型別的列表轉換為單個字串 -
在 Python 中使用
for
迴圈將列表轉換為單個字串
本文將介紹將 Python 列表中的專案連線為單個字串的方法。
在 Python 中使用 join()
方法將列表轉換為單個字串
join()
方法返回一個字串,其中字串分隔符連線元素序列。它以可迭代資料作為引數。
這種方法可以形象化如下:
"separator".join(["List", "of", " string"])
我們從 separator
呼叫 join()
方法並將字串列表作為引數傳遞。它根據所使用的分隔符返回字串。如果在分隔符中使用換行符\n
,它將為每個列表元素插入一個新行。如果在分隔符中使用逗號 ,
,它只會生成一個逗號分隔的字串。join()
方法返回一個可迭代的字串。如果任何非字串值是可迭代的,包括位元組物件,則將引發 TypeError
。稱為生成器表示式的表示式用於讓所有資料型別都適用於它。
例如,建立一個變數 words_list
並在其上寫入一些列表元素。它們是 Joey
, doesnot
, share
和 food
。使用分隔符 " "
呼叫 join()
方法。使用 words_list
變數作為函式中的引數。對整個表示式使用 print()
函式。
在下面的示例中,join()
函式將 words_list
變數作為引數。然後,在每個列表元素之間插入分隔符 " "
。最後,作為輸出,它返回字串 Joey does not share food
。
示例程式碼:
# python 3.x
words_list = ["Joey", "doesnot", "share", "food"]
print(" ".join(words_list))
輸出 :
Joey doesnot share food
在 Python 中使用 map()
函式將任何資料型別的列表轉換為單個字串
map()
函式將作為引數傳遞給可迭代物件(如列表和元組)的特定函式應用。該函式被傳遞而不呼叫它。這意味著函式中沒有括號。看起來 map()
函式是將 Python 列表轉換為字串的更通用的方法。
這可以視覺化為:
data: d1, d2, d3, .... dn
function: f
map(function, data):
returns iterator over f(d1), f(d2), f(d3), .... f(dn)
例如,建立一個變數 word_list
並將一些列表項儲存到其中。它們是 Give
、me
、a
、call
、at
和 979797
。然後,編寫一個 map()
函式並將一個函式 str
和一個變數 words_list
作為引數傳遞給 map()
函式。編寫一個 join()
函式並將 map
物件作為其引數。使用空字串" "
呼叫 join()
函式。使用 print()
函式列印表示式。
str
函式被呼叫到所有列表元素,因此所有元素都被轉換為字串型別。然後,在每個 Map 物件之間插入空格" "
,並返回輸出部分中顯示的字串。
# python 3.x
words_list = ["Give", "me", "a", "call", "at", 979797]
print(" ".join(map(str, words_list)))
輸出:
Give me a call at 979797
在 Python 中使用 for
迴圈將列表轉換為單個字串
我們可以使用 for
迴圈從列表中獲取單個字串。在此方法中,我們遍歷所有值,然後將每個值附加到一個空字串。這是一個簡單的過程,但需要更多的記憶體。我們在迭代器旁邊新增一個分隔符以附加一個空字串。
例如,建立一個變數 words_list
並儲存列表項。接下來,建立一個空字串 sentence
。使用 for
迴圈並使用變數 word
作為迭代器。對 word
使用 str()
方法並將其新增到變數 sentence
。然後,將 "."
作為字串新增到函式中。之後,將表示式分配給變數 sentence
。在迴圈外列印變數。
在這個例子中,python 列表 words_list
包含一個元素列表。空字串變數 sentence
用於在迴圈中附加列表元素。在迴圈內部,str()
方法將元素型別轉換為字串,而 "."
充當附加到空字串 sentence
的每個可迭代項之間的分隔符。
示例程式碼:
# python 3.x
words_list = ["Joey", "doesnot", "share", "food"]
sentence = ""
for word in words_list:
sentence += str(word) + "."
print(sentence)
輸出:
Joey.doesnot.share.food