📜  Python – 获取列表中的所有数字组合

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

Python – 获取列表中的所有数字组合

有时,在使用Python列表时,我们可能会遇到需要将每个数字与其他创建新数字连接起来的问题。这种问题很特殊,但可以在许多领域都有应用,例如日间编程和游戏。让我们讨论可以执行此任务的某些方式。

方法#1:使用列表理解+ combination()
上述功能的组合可以用来解决这个问题。在此,我们使用combination() 执行查找所有组合的任务,并且f-strings 可用于执行连接。

# Python3 code to demonstrate working of 
# All numbers combinations
# Using list comprehension + combinations
from itertools import combinations
  
# initializing list
test_list = [59, 236, 31, 38, 23]
  
# printing original list 
print("The original list : " + str(test_list))
  
# All numbers combinations
# Using list comprehension + combinations
res = [int(f"{x}{y}") for x, y in combinations(test_list, 2)]
          
# printing result 
print("All numbers combinations : " + str(res))
输出 :

方法 #2:使用循环 + str() + int()
上述功能的组合可以用来解决这个问题。在此,我们执行在嵌套循环中使用蛮力和类型转换形成组合的任务。这也输出反向组合。

# Python3 code to demonstrate working of 
# All numbers combinations
# Using loop + str() + int()
from itertools import combinations
  
# initializing list
test_list = [59, 236, 31, 38, 23]
  
# printing original list 
print("The original list : " + str(test_list))
  
# All numbers combinations
# Using loop + str() + int()
res = []
for i in test_list:
    for j in test_list:
        if j != i:
           res.append(int(str(i) + str(j)))
          
# printing result 
print("All numbers combinations : " + str(res))
输出 :