Python join

Python join,第1张

Python join()函数

今天写python 100例时,有个题目是大致是这样的:已知输入形式是1+3+2+1,要求输出形式为1+1+2+3

一开始思路是将输入的字符串用split()函数划分成数组,在对数组进行排序,再用for循环输出

代码附上:

a = map(int,raw_input().split('+'))
a = sorted(a)
for i in a:
if(i != len(a)):
print i,'+'
else:
print i

虽然能够输出正确结果,但是代码过于繁琐。


由于先前学习C语言,也做过相关算法练习,所以思想被固定。


再看了一下大神的代码,简直膜拜了。


代码附上:

print "+".join(sorted(raw_input()[::2]))

代码简洁,python函数很熟悉。


所以去查了一下join相关知识,以下有较全的解释及例子。


函数:string.join()

Python中有join()和os.path.join()两个函数,具体作用如下:
    join():    连接字符串数组。


将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
    os.path.join():  将多个路径组合后返回


一、函数说明
1、join()函数

语法:  'sep'.join(seq)

参数说明
sep:分隔符。


可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

返回值:返回一个以分隔符sep连接各个元素后生成的字符串

2、os.path.join()函数

语法:  os.path.join(path1[,path2[,......]])

返回值:将多个路径组合后返回

注:第一个绝对路径之前的参数将被忽略


二、实例

#对序列进行 *** 作(分别使用' '与':'作为分隔符)

>>> seq1 = ['hello','good','boy','doiido']
>>> print ' '.join(seq1)
hello good boy doiido
>>> print ':'.join(seq1)
hello:good:boy:doiido #对字符串进行 *** 作 >>> seq2 = "hello good boy doiido"
>>> print ':'.join(seq2)
h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o #对元组进行 *** 作 >>> seq3 = ('hello','good','boy','doiido')
>>> print ':'.join(seq3)
hello:good:boy:doiido #对字典进行 *** 作 >>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}
>>> print ':'.join(seq4)
boy:good:doiido:hello #合并目录 >>> import os
>>> os.path.join('/hello/','good/boy/','doiido')
'/hello/good/boy/doiido'

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/586757.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存