0

这是一个python代码

def issubset(a,b): i=0
 j=0
 while i < len(a):
        c = False
        while j < len(b):
            if a[i] == b[j]:
                c = True
                j = j+1 
            if c:
                c = False
            else:
                return False 
        j=0
        i = i+1
 return True

有一些技巧可以使上面的代码更干净。

def issubset(a, b):
    for i in range(len(a)):
        c = False
        for j in range(len(b)):
            c = c or a[i]==b[j]
            if c:
                c = False
            else:
                return False
    return True

可以更干净吗?我想有一些技巧,比如

if condition:
   <var> = True 

可以替换为

<var> = <var> or condition

或者如果 tempokay ==False: OK = False 可以替换为

okay = okay and tempokay

还有这样的套路吗?

4

1 回答 1

4

看起来您正在循环中使用索引来访问数组成员。这不是pythonic。

只需遍历您的数组

for member in your_list:
   for member_two in second_list:
      pass
于 2013-05-25T13:56:45.057 回答