繁体   English   中英

如何检查列表中是否存在任何项目

[英]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 == 0n == 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM