Python代码报错‘not all arguments converted during string formatting’原因排查
代码报错原因分析
你的代码如下:
l=[[1,2,3,4], (2,3,4,5,6,), (3,4,5,6,7), set([23,4,5,45,4,4,5,45,45,4,5]), {'K1': "sudh", "k2": "ineuron", "k3":"kumar", 3:6,7:8}, ["ineuron", "datasience"]] for i in l: if type(i)==list: for j in i: if j % 2!=0: print(j)
报错"not all arguments converted during string formatting"的原因:
- 代码最后一个元素是列表
["ineuron", "datasience"],其中的元素为字符串类型 - 当循环遍历到这个列表时,会对其中的字符串执行
j % 2 != 0的判断 - 在Python中,
%对字符串而言是字符串格式化运算符,而非数字取余运算符。"ineuron" % 2会被当成尝试用2去格式化字符串,但字符串里没有对应的占位符(比如%d),导致参数不匹配,触发该错误。
内容的提问来源于stack exchange,提问作者user19589852
相关产品推荐
相关产品推荐

