自學python如何成為大佬(目錄):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
語法參考
join()方法用于連接字符串數組。將字符串、元組、列表中的元素以指定的字符(分隔符)連接生成一個新的字符串,例如圖1所示。
圖1? join()方法連接字符串數組效果
join()方法的語法如下:
str.join(sequence)
參數說明:
l??str:分隔符,即用什么連接字符串,可以是逗號“,”、冒號“:”、分號“;”和斜杠“/”等等,也可以為空。
l??sequence:可以是字符串、字符串數組、列表、元組或字典等。
下面通過一個簡單的舉例來了解一下join()方法的用法。例如連接字符串數組“明”、“日”、“科”、“技”,代碼如下。
s = ['明',?'日',?'科',?'技']
print(''.join(s))
print('-'.join(s))
print('/'.join(s))
運行程序,當分隔符為空時,輸出結果為“明日科技”;當分隔符為“-”時,表示用“-”符號連接,輸出結果為“明-日-科-技”;當分隔符為“/”時,表示用“/”連接,輸出結果為“明/日/科/技”。
????快用錦囊
錦囊1??將NBA元組數據輸出NBA對陣數據(元組轉文本)
有這樣一組元組數據“('凱爾特人','雄鹿'),('猛龍','雄鹿'),('雄鹿','籃網'),('老鷹','雄鹿'),('雷霆','雄鹿'),('熱火','雄鹿')”,將每組對陣用vs連接,代碼如下:
#定義元組
mystr=(('凱爾特人','雄鹿'),('猛龍','雄鹿'),('雄鹿','籃網'),('老鷹','雄鹿'),('雷霆','雄鹿'),('熱火','雄鹿'))
#遍歷元組
number = [tuple(x)?for?x?in?mystr]
for?i?in?number:
? newStr=' vs '.join(tuple(i))??????#用vs連接元組
??print(newStr)
運行程序,輸出結果為:
凱爾特人?vs?雄鹿
猛龍?vs?雄鹿
雄鹿?vs?籃網
老鷹?vs?雄鹿
雷霆?vs?雄鹿
熱火?vs?雄鹿
錦囊2??以不同方式連接音樂列表(列表轉文本)
首先創建一個音樂列表,代碼如下:
music = ['小星星','沙漠駱駝','奶茶加糖','心如止水','給你比顆小心心']
print(music)
運行程序,輸出結果為:
['小星星', '沙漠駱駝', '奶茶加糖', '心如止水', '給你比顆小心心']
使用空格連接音樂列表,代碼如下:
print(' '.join(music))
運行程序,輸出結果為:
小星星?沙漠駱駝?奶茶加糖?心如止水?給你比顆小心心
在音樂列表中加入換行符,代碼如下:
print('\n'.join(music))
運行程序,輸出結果為:
小星星
沙漠駱駝
奶茶加糖
心如止水
給你比顆小心心
使用制表符Tab連接列表,代碼如下:
print('\t'.join(music))
運行程序,輸出結果為:
小星星???沙漠駱駝??????奶茶加糖??????心如止水??????給你比顆小心心
錦囊3??連接字典(字典轉文本)
使用join()方法操作字典,例如下面的代碼:
#定義字典
mystr = {'明':1,'日':2,'科':3,'技':4}
print(':'.join(mystr))
運行程序,輸出結果為:
明:日:科:技
????應用場景
場景一:通過join()方法連接關鍵詞(列表轉文本)
在通過SnowNLP模塊實現標題文本情感分析時,發現不提取關鍵詞和提取關鍵詞得分情況有很大差別,因此在該程序中先進行了關鍵詞提取,那么這就涉及到一個問題:提取出來的關鍵詞以列表形式出現,而SnowNLP模塊不支持列表,這就需要使用join()方法將提取后的關鍵詞進行連接形成文本,代碼如下:
from?jieba?import?analyse
from?snownlp?import?SnowNLP
#?基于TextRank算法從文本中提取關鍵詞
textrank = analyse.textrank
s1 = SnowNLP(' '.join(textrank('京東618,明日科技Python圖書大賣!')))
print(textrank("京東618,明日科技Python圖書大賣!"))
print(' '.join(textrank('京東618,明日科技Python圖書大賣!')))
print(s1.sentiments)
運行程序,輸出結果為:
['科技', '京東', '圖書']
科技?京東?圖書
0.812428207138199
上述結果中依次是提取的關鍵詞、連接后的關鍵詞文本和最終對該文本情感分析后的得分情況。
場景二:創建由小寫字母和數字組合的18位隨機碼
下面使用random模塊創建一個隨機的18位字符串,其中包括小寫字母和數字通過join()方法進行組合,代碼如下:
import?random
import?string
print(''.join(random.sample(string.ascii_lowercase + string.digits, 18)))
運行程序,輸出結果為:
ev3h6pkn1f4qmxbc9g