📌  相关文章
📜  Python – 列表中所有可能的对

📅  最后修改于: 2022-05-13 01:55:10.629000             🧑  作者: Mango

Python – 列表中所有可能的对

有时,在使用Python列表时,我们可能会遇到一个问题,即我们需要从列表中的整数中提取所有可能的对。此类问题可能发生在许多领域,例如日间编程和 Web 开发。让我们讨论可以执行此任务的某些方式。

方法 #1:使用列表理解 + enumerate()
这是可以执行此任务的方式之一。在此,我们在列表理解配方中使用嵌套循环执行配对任务,并且 enumerate() 用于在迭代时检查下一个索引。

# Python3 code to demonstrate working of 
# All possible pairs in List
# Using list comprehension + enumerate()
  
# initializing list
test_list = [1, 7, 4, 3]
  
# printing original list 
print("The original list : " + str(test_list))
  
# All possible pairs in List
# Using list comprehension + enumerate()
res = [(a, b) for idx, a in enumerate(test_list) for b in test_list[idx + 1:]]
  
# printing result 
print("All possible pairs : " + str(res))
输出 :
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]

方法#2:使用combinations()
这是可以执行此任务的方式之一。在此,我们只是使用 inbuild函数进行配对,并将 2 作为值发送给大小为 2 的对。

# Python3 code to demonstrate working of 
# All possible pairs in List
# Using combinations()
from itertools import combinations
  
# initializing list
test_list = [1, 7, 4, 3]
  
# printing original list 
print("The original list : " + str(test_list))
  
# All possible pairs in List
# Using combinations()
res = list(combinations(test_list, 2))
  
# printing result 
print("All possible pairs : " + str(res))
输出 :
The original list : [1, 7, 4, 3]
All possible pairs : [(1, 7), (1, 4), (1, 3), (7, 4), (7, 3), (4, 3)]