【发布时间】:2018-09-04 01:38:01
【问题描述】:
def ifWin2(el):
el2, el3 = el[2],el[3]
if el2 > el3:
el2 = el2 + 3000
el3 = el3 + 50
elif el2 < el3:
el2 = el2 + 50
el3 = el3 + 3500
else:
el2 = el2 + 1000
el3 = el3 + 1000
上面的代码给了我 TypeError,说它“只能将列表(而不是“int”)连接到列表”(我知道)。但是,我确信 el2 和 el3 都不是多维列表。为什么我会收到此错误?
【问题讨论】:
-
el2和el3长什么样子? -
当然,
el2和el3都不是多维列表,但3000根本不是列表。你正在做的正是错误所说的你正在做的事情。如果您想就地变异,请致电el2.append(3000),如果您想复制,请致电el2 = el2 + [3000]。 -
或者直接使用
el2 += [3000]@abarnert。 -
@ChristianDean 当然,但这里没有真正好的理由这样做,我认为这只会让他混淆
+=对可变类型和不可变类型所做的区别。
标签: python