我正在编写一个脚本,打印出可被3 XOR分割的列表项最后一个字符== 4但是我得到一个错误说明:TypeError: not all arguments converted during string formatting
我是Python新手,可能错过了一些明显的东西。代码如下:
lijst = ["124576", "795834", "890432", "907251"]
for j in lijst:
if j[-1]==4 ^ j%3 > 0 :
print(j)
答案 0 :(得分:3)
首先,您需要将4
更改为'4'
,因为您的项目是字符串并将j
转换为j%3
中的int也需要括号表示您的比较表达式因为^
的{{3}}高于==
,如果你想保留你的结果,它也会引发TypeError
,你可以使用列表理解:
>>> [j for j in lijst if (j[-1]=='4') ^ (int(j)%3 > 0)]
['124576', '795834', '890432']
如果您只想打印结果,可以使用带打印功能的常规循环。