def combinations(s, r):
# combinations('ABCD', 2) --> AB AC AD BC BD CD
pool = tuple(s)
n = len(pool)
indices = list(range(r))
yield tuple(pool[i] for i in indices)
while True:
for i in reversed(range(r)):
if indices[i] != i + n - r:
break
else:
return
indices[i] += 1
for j in range(i+1, r):
indices[j] = indices[j-1] + 1
yield tuple(pool[i] for i in indices)
def findsubsets(s, n):
for i in range(0,size):
return list(map(set, combinations(s, n)))
size = int(input("list size:"))
s = list(input("enter list:"))
for x in range(0,size):
print("list:",s)
n = 2
У меня есть программа Python для получения таких подмножеств. Когда я вхожу на вход {A, B, C, D}, у меня есть правильные выходы, но порядок выходов неправильный. Входы такие:
**list size:4
enter list:abcd
list: ['a', 'b', 'c', 'd']
list: ['a', 'b', 'c', 'd']
list: ['a', 'b', 'c', 'd']
list: ['a', 'b', 'c', 'd']
The output is:
[{'b', 'a'}, {'c', 'a'}, {'d', 'a'}, {'c', 'b'}, {'d', 'b'}, {'d', 'c'}]
I need to have output like this:
[{'a', 'b'}, {'a', 'c'}, {'a', 'd'}, {'b', 'c'}, {'b', 'd'}, {'c', 'd'}]
Can you help me?**