Python基礎之join函式

2022-07-29 19:57:11 字數 1876 閱讀 1990

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[,......]])

返回值:將多個路徑組合後返回

注:第乙個絕對路徑之前的引數將被忽略

二、例項12

3456

78910

1112

1314

1516

1718

1920

2122

2324

2526

2728

2930

3132

3334

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 =

>>> print ':'.join(seq4)

boy:good:doiido:hello

#合併目錄

>>> import os

>>> os.path.join('/hello/','good/boy/','doiido')

'/hello/good/boy/doiido'

python之函式基礎

python 函式 python函式可以返回多值 defadd dif x,y,sum x y dif x y return sum,dif a,b add dif 2,3 print a,b 5 1 r add dif 2,3 print r 5,1 本質來說返回多值的函式其實返回乙個元組tupl...

Python基礎之函式

不同型別的引數的優先順序 在引數列表中的順序 def testfunc1 pass這是乙個最簡單的函式,沒有引數,沒有返回,pass表示該函式沒有做任何操作,testfunc1是函式名,def是關鍵字,表示這是乙個函式 呼叫函式時給出函式並給函式傳遞相應的引數,對於命名關鍵字引數需要給出引數名,位置...

Python之函式(基礎)

1.函式的定義 1 函式的定義與呼叫 定義函式 def say hello print hello1 print hello2 print hello3 呼叫函式,函式只有被呼叫了才會有輸出值 示例1 定義求和函式 計算 20 30 2 函式的巢狀 def fun1 print world def ...