Python - 將列表拆分為所有可能的元組對


當需要將列表拆分為所有可能的元組對時,可以定義一個方法,該方法將列表作為引數,並使用列表解析來迭代列表並使用“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("The list is :")
print(my_list)

my_result = determine_pairings(my_list)

print("The resultant pairs are :")
print(my_result)

輸出

The list is :
[56, 31, 78, 0]
The resultant pairs are :
[[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。

  • 考慮不包含第一個元素的元素,並再次呼叫該方法。

  • 這分配給一個變數。

  • 再次迭代列表,並將第一個元素和索引元素新增到變數中。

  • 這作為輸出返回。

更新時間:20-9-2021

305 次瀏覽

職業生涯揚帆起航

透過完成課程獲取認證

開始
廣告