У меня есть простой код, который выглядит следующим образом в Python:
a = [1,2,3]
b = [2,4,6]
def union(a,b):
pos = 0
while pos < len(b):
n = b[pos]
if n in a is not 'True':
a = a
else:
a.append(n)
pos = pos +1
return a
print union(a,b)
Как видите, первое утверждение IF не имеет смысла. Однако, если я кодирую это так:
if n in a is 'True':
a.append(n)
это не работает. Первый сегмент кода меняет a = [1,2,4,6] - добавляются только числа из списка «b», которых нет в списке «a». Если я изменю фрагмент кода «IF» на «is True», как предложено, он не будет работать.
Хотя эта функция и делает то, что я намеревался сделать, я чувствую, что она не чистая, и я понятия не имею, почему «если n в a равно« True »:» не будет вести себя равным части else «если n в не 'True': "функция.
Может кто-нибудь, пожалуйста, помогите мне понять это?