ITPub博客

首页 > 数据库 > 数据库开发技术 > Python中的join函数

Python中的join函数

原创 数据库开发技术 作者:阿黎逸阳的代码 时间:2020-03-15 16:48:31 0 删除 编辑

Python中的join函数功能很强大,可以把字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串,而且分隔的字符也可以是一个字符串,接下来详尽地介绍这个函数。

1. 语法

1.1 string.join()
'sep'.join(seq)
代码解析:
sep: 代表分隔符, 可以是单个字符如: , . - ; 等,也可以是字符串如: 'abc'。
seq: 代表要连接的元素序列,可以是字符串、元组、列表、字典等。
注:'sep'和seq都只能是string型,不能是int型和float型。

错误实例1('sep'是int型):

错误实例2(seq中的元素是int型):

1.2 os.path.join()

os.path.join(Path1,Path2,Path3,...)

代码解析:

把path1、path2、path3...等用\\连接起来,组成文件路径。

2. 具体实例

2.1 要连接的元素序列是字符串

实例1—(分隔符是单个字符)
sep = " "            #分隔符(空格)seq = '女神节日快乐'  #要连接的字符串   str = sep.join(seq)  #用分隔符连接字符串中的元素

得到结果:

'女 神 节 日 快 乐'
实例2—(分隔符是多个字符)
sep = "  (*^__^*)  "  #分隔符(空格)seq = '女神节日快乐'   #要连接的字符串   str = sep.join(seq)   #用分隔符连接字符串中的元素

得到结果:

'女  (*^__^*)  神  (*^__^*)  节  (*^__^*)  日  (*^__^*)  快  (*^__^*)  乐'

2.2 要连接的元素序列是列表

实例1—(分隔符是单个字符)

sep = "-"             #分隔符(-)seq = ['I','2','U']   #要连接的列表  str = sep.join(seq)   #用分隔符连接列表中的元素
得到结果:
'I-2-U'

实例2—(分隔符是多个字符)

sep = '-女神-'                  #分隔符(多个字符)seq = ['我','你','公认的','']    #要连接的列表    str = sep.join(seq)

得到结果:

'我-女神-你-女神-公认的-女神-'
注:元组的情况和列表是类似的,不赘述

2.3 要连接的元素序列是字典

实例1—(分隔符是单个字符)

sep = " "                                 #分隔符(空格)seq = {'W':1,'i':2,'n':3,'k':4, 'n':5}    #要连接的字典  str = sep.join(seq)                        #用分隔符连接字典的元素

得到结果:

'W i n k'
注:字典只对键进行连接,如果键中有重复项,则只保留第一个键。

实例2—(分隔符是多个字符)

sep = " (^_-) "                          #分隔符(空格)seq = {'W':1,'i':2,'n':3,'k':4, 'n':5}      #要连接的字典  str = sep.join(seq)                        #用分隔符连接字典的元素

得到结果:

'W (^_-) i (^_-) n (^_-) k'

2.4 要连接的元素是路径

实例1:
path1 = 'D:\\新建文件夹'path2 = '微信公众号'path3 = '16.快速入门python'
Path_Final = os.path.join(path1, path2, path3)
得到结果:
'D:\\新建文件夹\\微信公众号\\16.快速入门python'
#可以用如下语句把当前路径改成Path_Finalos.chdir(Path_Final)

注:区别 + 号连接

path1+path2+path3
得到结果:
'D:新建文件夹微信公众号'   #中间没有分隔符
实例2:看一个有意思的路径连接,思考一下为什么?
path1 = 'D:'path2 = '新建文件夹:'path3 = '微信公众号:'path4 = '17.python中的join函数'
Path_Final = os.path.join(path1, path2, path3, path4)
得到结果:
'D:新建文件夹:\\微信公众号:\\17.python中的join函数'
os.path.join在path1后没有加连接符\\,在path2后加了连接符,说明不是:导致的未加连接符,想一想为什么会不加连接符?
3. join函数在实际中的应用

3.1 用python代码实现分解素因数,并用join函数打印出来
num = int(input())                       #输入想要分解素因数的数factor_list = []                         #设定保存素因数的列表                     def factor_fun(n):    for i in range(2, n+1):              #构建求素因数的循环                   if n%i == 0:                     #如果n能整除i,则把i加入保存素因数的列表            factor_list.append(i)            if n!=i:                     #如果i不等于n,且i是n的因数,把n除以i得到的新数,调用factor_fun函数                factor_fun(int(n/i))            return factor_list        c = factor_fun(num)                     #调用函数print(num, '=', end=' ',sep = ' ')print('*'.join('%s' %id for id in factor_list))  #把factor_list列表中数值型的数据转换成字符,用*连接

输入50得到结果:

5050 = 2*5*5
3.2 用join函数根据当前路径组成新路径
import os     #导入路径模块os.getcwd()   #获取当前路径data_save = os.path.join(os.getcwd(), 'data_save')  #获取当前路径并组合新的路径
得到结果:
'C:\\Users\\Administrator\\29_python中的join函数\\data_save'

3.3 找到0.整体公众号设计目录下最新文件的绝对路径和名称

import osimport timefile_dir=os.path.dirname(os.path.abspath('.'))+'\\0.整体公众号设计'    #获取路径lists=os.listdir(file_dir)                                            #获取路径下的文件名lists.sort(key=lambda fn:os.path.getatime(file_dir+"\\"+fn))          #按修改时间排序输出目录下所有文件名称file=os.path.join(file_dir,lists[-1])                                 #输出列表中最后一个文件的绝对路径和名称

得到结果:

'D:\\新建文件夹\\微信公众号\\0.整体公众号设计\\求关注图片.pptx'

通过3.3的代码可以对某个文件夹下的文件做批量操作。


本文是本人使用join函数后的一些见解,如有不当之处恳请指正,如果有不理解的地方可以到公众号中向我咨询。


-end-



你可能感兴趣:

表白-白衣天使

用python绘制皮卡丘

风控建模中的IV和WOE

杨紫作品集动态二维码

新手如何快速入门Python



长按识别上方二维码学习更多Python知识


喜欢这篇文章

就请点个 “ 在看”吧

                                      




原文作者:阿黎逸阳的代码;如有侵权,请联系管理员删除。

下一篇: DBSCAN聚类
请登录后发表评论 登录
全部评论

注册时间:2020-02-15

  • 博文量
    282
  • 访问量
    130853