Python–获取列表中的所有数字组合
原文:https://www . geesforgeks . org/python-get-all-numbers-in-list 组合/
有时,在使用 Python 列表时,我们可能会遇到一个问题,即我们需要将每个数字与其他数字连接起来以创建新的数字。这种问题很特殊,但可以应用于许多领域,如日常编程和游戏。让我们讨论执行这项任务的某些方法。
输入 : test_list = [7,3,4,5] 输出 : [73,74,75,34,35,45]
输入 : test_list = [2,5] 输出 : [25]
方法#1:使用列表理解+ combination()
以上功能的组合可以用来解决这个问题。在本文中,我们使用 combination()执行查找所有组合的任务,f-string 可用于执行串联。
# 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))
Output :
原列表:[59,236,31,38,23] 所有数字组合:[59236,5931,5938,5923,23631,23638,23623,3138,3123,3823]
方法 2:使用 loop + 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))
Output :
原列表:【59,236,31,38,23】 所有数字组合:【59236,5931,5938,5923,23659,23631,23638,23623,3159,31236,3138,3123,3859,38236,3831,3823,2359,23236,223
版权属于:月萌API www.moonapi.com,转载请注明出处