【发布时间】:2019-04-03 06:33:53
【问题描述】:
我发现一个代码使用了A[i][j] += min(A[i - 1][j and j - 1:j + 2])
我尝试了类似的实现,如下所示,这给了我意想不到的结果。有人可以解释一下吗?我无法理解在这种情况下如何解释“和”。
a = [1,2,3,4,5,6,7,8,9,10,11,12]
print(a[0 and 3:4]) #[1, 2, 3, 4]
print(a[1 and 3:4]) #[4]
print(a[1 and 3:6]) #[4, 5, 6]
print(a[0 and 3:6]) #[1, 2, 3, 4, 5, 6]
print(a[2 and 3:6]) #[4, 5, 6]
编辑:在 a[0 and 3:4] 中,它包括从 0 到 3 的元素,但是如果我使用 a[1 and 3:4] 它只给出第三个元素,而我期望从 1 到 3 的元素
【问题讨论】:
-
意外结果是什么意思?
-
已编辑。请检查
-
0 and 3是0因为0是假的。1 and 3是3因为1是真实的。查看欺骗目标。 -
有趣的事实:如果你不知道: True 也是一个整数,即 1 。 bool inherits int。但要小心this。
标签: python arrays python-3.x indexing iteration