简化if语句Python

Gle*_*yak 2 python if-statement

有没有办法简化这个if语句:

if self[by1,bx1]=='A' or self[by1,bx1+1]=='A' or self[by1,bx1+2]=='A' or self[by1,bx1+3]=='A':
Run Code Online (Sandbox Code Playgroud)

来自self [y,x]获取表中数据的类.

原始代码是:

for i in range(4):
                if self[by1,bx1]=='A' or self[by1,bx1+1]=='A' or self[by1,bx1+2]=='A' or self[by1,bx1+3]=='A':
                    print('There is already a ship here')
                    by1=0
                    bx1=0
                    self.placing_Battleship_p1()
                elif by1==0 or by1==0:
                    pass
                else:
                    self[by1,bx1+i]='B'
Run Code Online (Sandbox Code Playgroud)

我想让它检查我的桌子的每个位置是否都不等于'A',然后再换成'B'.

Mor*_*app 7

当然,你可以用any它.这应该是等价的.

if any(self[by1,bx1+x]=='A' for x in range(4)):
Run Code Online (Sandbox Code Playgroud)