自学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