如何按指定格式打印Python列表元素?解决str format required错误
解决Python列表拼接时的
str format required错误 嘿,这个问题我之前也踩过坑!咱们来搞清楚问题出在哪,以及怎么解决它~
错误原因
你遇到的str format required错误,本质是因为**str.join()方法只能接收由字符串组成的可迭代对象**,而你的lst = [10,20,30,40]里全是整数类型,直接传给join就会触发类型不匹配的错误。
解决方案
咱们只需要把列表里的每个整数先转换成字符串,再用join拼接就行,这里有两种简洁的实现方式:
方法1:使用生成器表达式(推荐,可读性高)
lst = [10,20,30,40] print("output: " + "-->".join(str(num) for num in lst))
方法2:使用map()函数(更简洁)
map(str, lst)会把列表里的每个元素都转换成字符串,再传给join:
lst = [10,20,30,40] print("output: " + "-->".join(map(str, lst)))
两种方法运行后都会输出你想要的结果:
output: 10 --> 20 --> 30 --> 40
额外补充:手动循环拼接(不推荐长列表)
如果想手动实现拼接逻辑,也可以这么写,但对于长列表来说效率不如join:
lst = [10,20,30,40] output_str = "output: " for idx, num in enumerate(lst): output_str += str(num) if idx != len(lst)-1: output_str += " --> " print(output_str)
内容的提问来源于stack exchange,提问作者Maxxx
相关产品推荐
相关产品推荐

