python學習之遇到得基礎報錯
阿新 • • 發佈:2018-06-09
遍歷 驗證 AS tro expec python iterable dict rac
a = "*".join(lis)
TypeError: sequence item 0: expected str instance, int found
error01:
字符串方法jion()
語法:“連接符字符串”.join(iterable)
註:“連接符字符串” 本身就是一個字符串,iterable可叠代得數據類型:str,list,touple,dict,set
1、當序列中得元素有整數時:
list = [11,22]
a = “*”.join(list)
預想結果為:11*22
實際運行結果為:
D:\install\Python36\python.exe D:/install/project/總結.py
Traceback (most recent call last):
File "D:/install/project/總結.py", line 113, in <module>
a = "*".join(lis)
TypeError: sequence item 0: expected str instance, int found
沒有找到str對象,經驗證如果list中全為字符串就可以。
join方法不能將帶有數字的列表轉換成字符串,同理tuple中的元素,dict中的key如果是數字,同樣會報錯。
解決方法:
1、遍歷循環列表(或tuple,dict,set等)將其轉化成字符串
list = [11,22]
list_temp = []
for i in list:
list_temp.append(str(i))
2、再通過join方法將列表轉換成字符串
list_str = “*”.join(list_temp)
>>> 11*22
也可用列表生成式做:
“*”.join(‘%s’ %i for i in list)
python學習之遇到得基礎報錯