Tôi đang cố gắng viết một hàm sẽ lấy một mảng trên mảng đầu vào và trả về mảng, chứa tất cả các tập con có thể của mảng đầu vào (bộ nguồn không có phần tử trống). Ví dụ cho đầu vào: [1, 2, 3]
kết quả sẽ là [[1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]]
.Bộ nguồn của một mảng trong Delphi
Chức năng này không được công việc trong python:
def list_powerset(lst):
result = [[]]
for x in lst:
result += [subset + [x] for subset in result]
result.pop(0)
return result
Nhưng tôi đang tìm để thực hiện nó trong Delphi. Điều này có thể thực hiện theo cách này hay tôi nên tìm một thứ khác?
Nó chắc chắn có thể làm được điều này (nhưng mã có thể sẽ không thể là ngắn ngủi trong Delphi). –
Câu trả lời của tôi ở đây sẽ giúp: http://stackoverflow.com/questions/8316479/combination-without-repetition-of-n-elements-without-use-for-to-do –