1. 程式人生 > >Python中的join函式用法

Python中的join函式用法

       Python中的join跟Perl中的join在功能上有一點相似。Python中,join用於實現序列或者集合的合併,而且可以指定合併時候元素之間的間隔符號。此外,還能夠將字串作為一個物件對每個可切片元素進行合併。

       先看一下對字串的合併。

[email protected]:/mnt/e/01_workspace/02_programme_language/03_python/OOP/2017/08/12$python

Python 2.7.6(default, Oct 26 2016, 20:30:19)

[GCC 4.8.4] onlinux2

Type"help", "copyright", "credits" or"license" for more information.

>>> str1= "life is short,you need python"

>>> a ='_'.join(str1)

>>> a

'l_i_f_e_ _i_s__s_h_o_r_t_,_y_o_u_ _n_e_e_d_ _p_y_t_h_o_n'

>>>type(a)

<type 'str'>

       從上面的互動記錄可以看出,字串進行相應的處理之後能夠時間分隔符的插入。同時,看到一個比較有意思的東西,那就是執行環境。我是在Windows10中的bash下執行的,軟體的版本是py2。但是,我自己Windows系統中安裝的軟體其實是py3。從這裡看,其實Windows10中的bash安裝其實是給安裝了一個比較完整的Linux子系統的。有了這個東西的話,以後的Windows使用體驗應該會更好一些了!

       再來看看對元組的操作,這次直接寫程式碼檔案吧!程式碼如下:

cell_data =('I','Love','Coding')

var =','.join(cell_data)

print(var)

print(type(var))

       程式執行結果:

[email protected]:/mnt/e/01_workspace/02_programme_language/03_python/OOP/2017/08/12$python join.py

I,Love,Coding

<type 'str'>

       從上面的結果可以看出,合併成功。合併後的物件是一個字串。但是,元組的元素卻不一定都是字串,為了能夠更充分試探出這個函式的功能,程式碼修改如下:

cell_data =('I','Love','Coding',1,2,3)

var =','.join(cell_data)

print(var)

print(type(var))

       程式的執行結果如下:

[email protected]:/mnt/e/01_workspace/02_programme_language/03_python/OOP/2017/08/12$python join.py

Traceback (mostrecent call last):

  File "join.py", line 3, in<module>

    var = ','.join(cell_data)

TypeError:sequence item 3: expected string, int found

       這裡果真出錯了,期待的是一個字串但是引數卻是整型。不用說,換用列表之後也肯定是類似的效果。修改程式碼測試:

list_data =['I','Love','Coding',1,2,3]

var =','.join(list_data)

print(var)

print(type(var))

       程式執行結果:

[email protected]:/mnt/e/01_workspace/02_programme_language/03_python/OOP/2017/08/12$python join.py

Traceback (mostrecent call last):

  File "join.py", line 10, in<module>

    var = ','.join(list_data)

TypeError:sequence item 3: expected string, int found

       繼續修改如下:

list_data =['I','Love','Coding']

var =','.join(list_data)

print(var)

print(type(var))

       程式執行結果:

[email protected]:/mnt/e/01_workspace/02_programme_language/03_python/OOP/2017/08/12$python join.py

I,Love,Coding

<type 'str'>

       進一步修改如下:

list_data =[1,2,3,4]

var =','.join(list_data)

print(var)

print(type(var))

       程式執行結果:

[email protected]:/mnt/e/01_workspace/02_programme_language/03_python/OOP/2017/08/12$python join.py

Traceback (mostrecent call last):

  File "join.py", line 10, in<module>

    var = ','.join(list_data)

TypeError:sequence item 0: expected string, int found

       由此,基本上可以確定join的功能就是面向字串處理的一個功能。其實,使用一般的Python基礎功能也能夠實現一個類似的功能函式,或許還能夠進行一些其他功能特性的定製。不過,既然已經有了這個現成的函式,能夠直接使用也是很好的。