Python排列组合如何去除重复项

def combine(data, step, select_data, target_num):
if len(select_data) == target_num:
print(select_data)
return
if step >= len(data):
return
select_data.append(data[step])
combine(data, step + 1, select_data, target_num)
select_data.pop()
combine(data, step + 1, select_data, target_num)
if name == 'main':
data = [1, 2, 3, 3, 4, 4]
combine(data, 0, [], 3)

请问如何让结果只显示无重复项的数组
例如
1,2,3
1,2,4
2,3,4
而不显示1,3,3之类的有重复项的数组


def combine(data, step, select_data, target_num):
    if len(select_data) == target_num:
        print(select_data)
        return
    if step >= len(data):
        return
    select_data.append(data[step])
    combine(data, step + 1, select_data, target_num)
    select_data.pop()
    combine(data, step + 1, select_data, target_num)
if __name__ == "__main__":
    data = [1, 2, 3, 3, 4, 4]
    # 去重
    data= list(set(data))
    
    combine(data, 0, [], 3)

img

if len(select_data)!=len(set(select_data)):
    print("有重复了")
def combine(data, step, select_data, target_num):
    if len(select_data) == target_num:
        print(select_data)
        return
    if step >= len(data):
        return
    select_data.append(data[step])
    combine(data, step + 1, select_data, target_num)
    select_data.pop()
    combine(data, step + 1, select_data, target_num)
if __name__ == '__main__':
    data = [1, 2, 3, 3, 4, 4]
    data = list(set(data))
    combine(data, 0, [], 3)