如何修复代码?
我试图通过
让i % 3 == 1
和i != 16
失败
data = "8|9|8|9|8|9|8|9|9|8|9|8|9|8|9|8"
arra = map(int,data.split("|"))
arra = sum(arra[1::3 and != 16]) for i in range(0, len(arra), 16)]
|
|---// Problem here
答案 0 :(得分:6)
试试这个:
arra = sum(a for i,a in enumerate(arra) if i %3==1 and i != 16)
对于这种复杂的工作,切片符号不会真的这样做。但是你为什么要回到arra?您将清除原始值列表。
答案 1 :(得分:0)
切片不能那样工作。
Paul McGuire包含正确的代码:
arra = sum(x for i, x in enumerate(arra) if i % 3 == 1 and i != 16)
从你的代码中还不清楚for i in range(0, len(arra), 16)]
应该是什么意思。你想要完成什么?