Python - 将列表拆分为所有可能的元组对

pythonserver side programmingprogramming更新于 2025/11/8 17:48:17

当需要将列表拆分为所有可能的元组对时,可以定义一个方法,该方法以列表为参数,使用列表推导来遍历列表并使用‘extend’方法

示例

下面是相同的演示

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。

  • 考虑除第一个元素之外的元素,然后再次调用该方法。

  • 这被分配给一个变量。

  • 再次迭代列表,并将第一个元素和索引元素添加到变量中。

  • 这作为输出返回。


相关文章


有用资源