在Python中,求冪集是一個非常常見的操作。冪集是指一個集合中所有可能的子集構成的集合。比如,集合{1,2,3}的冪集為{ {}, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3} }。這篇文章將介紹如何用Python來求一個集合的冪集。
def power_set(nums): if not nums: return [[]] res = [[]] for num in nums: res += [item + [num] for item in res] return res
這個函數接受一個列表作為輸入,返回這個列表的冪集。函數的實現過程如下:
- 如果輸入為空列表,返回一個子集為空的列表。
- 初始化結果集res為一個子集為空的列表。
- 遍歷輸入列表中的每個元素num,在結果集res中依次取出每個子集item,將新子集item+[num]添加到結果集res中。
- 返回結果集。
比如,調用power_set([1,2,3]),將返回[[ ], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3]]。
nums = [1,2,3] print(power_set(nums))
運行上述代碼,輸出結果為:
[[], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3]]
可以看到,得到了正確的冪集。
總結:通過本文,我們學習了用Python來求一個集合的冪集的方法,理解了冪集的含義和實現方式,掌握了用列表來生成子集的技巧。
上一篇python 求救信號
下一篇c 字典值轉json