[英]How to check if any item exists in the list
如何检查列表本身中是否存在具有此类索引的列表和列表元素?
I have a list [[10,10,9], [10,10,10], [10,10,10]]
然后我输入坐标数 (k) 和坐标本身。 在这些坐标处,我必须从单元格中减去 8,并在每个单元格旁边减去 4。 但是如果附近没有细胞呢? 当检查 field [r + f] [c + s] in field 时:它总是给出否定的答案。 如何进行支票?
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
切片分配可能会有所帮助。 您必须避免让索引变为负数,但类似于
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`显式设置为负索引, n == len(s) - 1. (It won't work if
。)
您只需要检查索引是否不在列表的开头或结尾。
n = 2
mylist = [4, 5, 8, 9, 12]
if len(mylist) > n+1:
mylist[n+1] -= 1
if n > 0:
mylist[n-1] -= 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.