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[,......]])
返回值:将多个路径组合后返回
注:第一个绝对路径之前的参数将被忽略
二、实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#对序列进行操作(分别使用\' \'与\':\'作为分隔符)
>>> 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\'
相关文章:
- python中的 join()函数 2022-01-07
- Python中的join()函数 2022-01-07
- python语法join函数 2022-01-07
- python里的Join函数 2022-01-07
- Python中的join()函数split()函数 2022-01-07
- python基础-函数 2019-11-10
- Python 函数基础 2019-11-07
- python - 函数基础 2020-05-14