当需要将列表拆分为所有可能的元组对时,可以定义一个方法,将列表作为参数并使用列表理解来遍历列表并使用“扩展”方法
下面是相同的演示
def determine_pairings(my_list): if len(my_list) <= 1: return [my_list] result = [[my_list[0]] + element for element in determine_pairings(my_list[1:])] for index in range(1, len(my_list)): result.extend([[(my_list[0], my_list[index])] + element for element in determine_pairings(my_list[1: index] + my_list[index + 1:])]) return result my_list = [56, 31, 78, 0] print("名单是:") print(my_list) my_result = determine_pairings(my_list) print("结果对是:") print(my_result)输出结果
名单是: [56, 31, 78, 0] 结果对是: [[56, 31, 78, 0], [56, 31, (78, 0)], [56, (31, 78), 0], [56, (31, 0), 78], [(56, 31), 78, 0], [(56, 31), (78, 0)], [(56, 78), 31, 0], [(56, 78), (31, 0)], [(56, 0), 31, 78], [(56, 0), (31, 78)]]
定义了一个名为“determine_pairings”的方法,它将列表作为参数。
检查列表的长度是否大于 1。
考虑排除第一个元素的元素并再次调用该方法。
这被分配给一个变量。
列表再次迭代,并将第一个元素和索引元素添加到变量中。
这作为输出返回。