码迷,mamicode.com
首页 > 编程语言 > 详细

python学习之遇到得基础报错

时间:2018-06-09 21:09:33      阅读:540      评论:0      收藏:0      [点我收藏+]

标签:iterable   span   遍历   迭代   err   mod   ack   color   ted   

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学习之遇到得基础报错

标签:iterable   span   遍历   迭代   err   mod   ack   color   ted   

原文地址:https://www.cnblogs.com/sunxiuwen/p/9160734.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!