join()方法——连接字符串、元组、列表和字典

自学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 in mystr]

for 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙子味冰可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值