python join方法使用詳解

2022-10-04 16:39:13 字數 1942 閱讀 6399

join方法

join這個方法,將可迭代的資料型別,轉為字串或者bytes,沒錯可以轉為bytes型別。注意這個可迭代的資料中的元素必須是相同型別的。

jion裡的引數可迭代物件就行,可迭代物件是指有__iter__方法的物件

# 列表為可迭代物件

list_1 = ["1","2","3","4"] # 元素為字串的列表

res = "".join(list_1) # res的值為 "1234",資料型別為str

# 字典為可迭代物件

dict_1 = # key為字串型別的字段

res = "".join(dict_1) # res的值為"key1key2",資料型別為str

# 自己寫乙個可迭代的物件

class a:

__field =

def __init__(self, *akqemcqrgs):

for i in args:

self.__field.append(i)

def __iter__(self):

changdu kqemcq= len(self.__field)

for i in range(self.__index, changdu):

yield self.__field[i]

a = a("1","2","3","4")

res = "".join(a) # res的值為"1234",資料型別為str

join為python的內建方法,具體原始碼是看不到的,我們大概也可以知道。對於上面**中的變數list_1,dict_1,a都是可迭代物件。我們for迴圈它們,就可以拿到乙個值,然後再將這個值進行相應的處理就ok

# 比如 "--".join(list_1)這個操作,它的輸出為"1--2--3--4",乙個字串

list_1 = ["1","2","3","4"]

param = "--"

res = ""

for i in range(len(list_1)):

if i == len(lis) - 1:

re程式設計客棧s += 程式設計客棧lis[i]

else:

res += lis[i]

res += param

print(res) # 輸出為 "1--2--3--4"

# 那麼字典,還有物件a呢?

print(list(dict_1)) # 輸出 ["key1","key2"]

print(list(a)) # 輸出 ["1","2","3","4"]

我們實現join方法就是,將可迭代的物件先轉為list型別,然後再執行上面那段**(for迴圈那段)。這樣大概能完成jion方法了

join方法最終返回值為str型別或者bytes型別,返回什麼型別,要看是哪種型別的資料呼叫了join方法,比如上面的那些**,全是由字串呼叫,所以返回的也都是字串型別。

"||".join(["a","b","c"]) # 輸出 "a||b||c",型別為str

b"||".join([b"a", b"b", b"c"]) # 輸出 b"a||b||c",型別為bytes型別

str型別資料呼叫了join方法,那麼傳入的可迭代物件,它的list(可迭代物件)裡的元素也必須是str型別,如果為其他型別的話,程式就會報錯。bytes型別呼叫也是一樣,元素必須為bytes型別。

list_2 = ["1","2",3,4] # 列表中的元素由str型別,int型別

"".join(list_2)

執行上面的**,程式會報錯:typeerror: sequence item 2: expected str instance, int found

大概意思是接受字串型別資料,發現了int型別資料

本文標題: python join方法使用詳解

本文位址: /jiaoben/python/267072.html

python join字元連線函式的使用方法

string模組的join方法,因此它需要兩個引數,乙個是list,另乙個是分隔符。而且呼叫時正如cnxo所示,如果你匯入了 string模組 import string 你需要使用string.join 這樣來用。但現在string物件本身就有這樣方法,這樣它只需要乙個分隔符引數。用法為 join...

iOS UIAlertView的使用方法詳細

uialertview的常用方法 標準樣式 uialertview onealertview uialertview alloc initwithtitle 標題 message 提示內容 delegate self cancelbuttontitle 關閉 otherbuttontitles ok...

php函式addslashes 使用方法詳解

在每個雙引號 前新增反斜槓 str addslashes shanghai is the biggest city in china.echo str 執行例項 shanghai is the biggest city in china.addslashes 函式返回在預定義字元之前新增反斜槓的字串...