def different(s):
x = len(s)
for i in range(1, 1 << x):
u.append([s[j] for j in range(x) if (i & (1 << j))])
그것은 (A, B, C) = ((A, B, C), (A, B), (A, C를 다른 조합을 목록을 소요하게
) etc ..) 그러나 범위는 무엇을합니까? 1에서 무엇까지. 나는 "< <" 나 비트 시프트 연산을 이해하는 데 도움이됩니다
및
또한, 경우에 (내가 & (1 < < J))이 무엇을합니까 이해하지? i와 2가 j의 거듭 제곱인지 확인합니다. 나에게 어떤 의미가 없습니다 :/
많은 사람들이 당신을 돕기 위해 많은 노력을했습니다. 이 질문을 삭제하면 대표를 잃을 수 있습니다. 다른 방법으로 문제가 해결되면 솔루션에 대한 답을 남겨두고 옵션을 사용할 수있을 때 선택하십시오. 유사한 문제가있는 사람들을 돕고 도움을 주려는 사람들에게 벌점을주지 않습니다. (또한 당신이 염려했던 것들을 고쳤습니다) – Will