如何检查列表本身以及具有此类索引的列表元素是否存在于列表中?
I have a list [[10,10,9], [10,10,10], [10,10,10]]
然后输入坐标数(k)和坐标本身。在这些坐标下,我必须从单元格中减去8,每个单元格旁边都减去4。但是,如果附近没有牢房怎么办? 检查字段[r + f] [c + s]是否在字段中时:它总是给出否定答案。如何进行支票?
for i in range(k):
for j in range(1):
f = drops[i][j]
s = drops[i][j + 1]
field[f][s] -= 8
for r in range(-1, 1):
for c in range(-1, 1):
if not (r == c == 1):
if field[r + f][c + s] in field:
field[r + f][c + s] -= 4
答案 0 :(得分:0)
切片分配可能会有所帮助。您必须避免让索引变为负数,但是类似
s = slice(max(n-1,0), n+2)
x[s] = [v-1 for v in x[s]]
虽然并不是重复,但是在处理边缘情况n == 0
和n == len(s) - 1. (It won't work if
n`时,明确地设置为负索引)
答案 1 :(得分:0)
您只需要检查索引不在列表的开头还是结尾。
n = 2
mylist = [4, 5, 8, 9, 12]
if len(mylist) > n+1:
mylist[n+1] -= 1
if n > 0:
mylist[n-1] -= 1