1. 程式人生 > >python3----函數(join)

python3----函數(join)

seq split 字符串 路徑 循環 spa 固定 pri 連接字符串

今天寫python 100例時,有個題目是大致是這樣的:已知輸入形式是1+3+2+1,要求輸出形式為1+1+2+3

一開始思路是將輸入的字符串用split()函數劃分成數組,在對數組進行排序,再用for循環輸出

代碼附上:

a = map(int,input("請輸入:").split(‘+‘))
a = sorted(a)
print(len(a))
for i in a:
if i != len(a):
print(i,‘+‘)
else:
print(i)

雖然能夠輸出正確結果,但是代碼過於繁瑣。由於先前學習C語言,也做過相關算法練習,所以思想被固定。

再看了一下大神的代碼,簡直膜拜了。

代碼附上:

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

or

print(‘+‘.join(sorted(input("請輸入:").split(‘+‘))))

代碼簡潔,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 >>> seq1 = [hello,good
,boy,doiido] 4 >>> print( .join(seq1)) 5 hello good boy doiido 6 >>> print(:.join(seq1)) 7 hello:good:boy:doiido 8 9 10 #對字符串進行操作 11 12 >>> seq2 = "hello good boy doiido" 13 >>> print(:.join(seq2)) 14 h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o 15 16 17 #對元組進行操作 18 19 >>> seq3 = (hello,good,boy,doiido) 20 >>> print(:.join(seq3)) 21 hello:good:boy:doiido 22 23 24 #對字典進行操作 25 26 >>> seq4 = {hello:1,good:2,boy:3,doiido:4} 27 >>> print(:.join(seq4)) 28 boy:good:doiido:hello 29 30 31 #合並目錄 32 33 >>> import os 34 >>> os.path.join(/hello/,good/boy/,doiido) 35 /hello/good/boy/doiido

python3----函數(join)