当前位置:首页 > 问答大全 > 请教Python高手几个简单的python代码问题

请教Python高手几个简单的python代码问题

被浏览: 0次 2023年10月11日 22:44
热门回答(1个)
游客1

用递归方法求一个已知集合,比如(a,b,a,c),的所有子集

def getsubset(myset,subtract):
  辩芦if len(myset)<=1:
    return []
  result=[]
  newsubtract=subtract.copy()
  for i in subtract:
    result.append(myset-{i})
    newsubtract=newsubtract-{i}
    result.extend(getsubset(myset-{i},newsubtract))
  return result
def subset(myset):
 激早 result=[set(),myset] if myset else [myset]
  result.extend(getsubset(myset,myset))
  return result
result=subset({'a','b','c','携铅带d'})
toprint=[sorted(x) for x in result]
for i in sorted(toprint,key=lambda x:(len(x),x)):
  print(i)

而且(a,b,a,c) 不是集合,集合中元素不应有重复

一个n个元素的集合的所有子集是2的n次方个吗,如是,这个程序应该就是正确的