Я нашел один код, который использовал 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]
редактировать: в [0 и 3:4] он включает элементы от 0 до 3, но если я использую [1 и 3:4], он дает только 3-й элемент, тогда как я ожидаю элементы от 1 до 3
0 and 3
это0
, потому что0
ложно.1 and 3
это3
, потому что1
правдиво. См. обманную цель. - person khelwood   schedule 30.10.2018