常用处理 - join 一个数字 list ¶
作者:KK
发表日期:2020.02.18
要点速读 ¶
ids = (str(id) for id in ids)
发生场景 ¶
新手会遇到这样的报错代码:
ids = [11, 22, 33]
print(', '.join(ids))
报错消息为:TypeError: sequence item 0: expected str instance, int found
原因 ¶
join 方法只接受一个全部都包含 string 的 list 数据类型,然而上面的 ids 变量里包含了 int 型数字,那办法就是将这些 int 转换成 string。
解决方案 ¶
ids = [11, 22, 33]
ids = (str(id) for id in ids) #一句代码转换
print(', '.join(ids))
个人觉得这种需求还是时而存在的,需要这样处理不是很好,希望新版 python 能优化这个支持,比如 ', '.join(ids, True)
这样通过第2个参数来说明兼容 int 型元素