Python – 连续的三元组配对
有时,在使用列表时,我们需要将列表中的类似元素进行三重配对,然后将它们存储为列表的列表。这个特定的任务在许多领域都有它的实用性,无论是 Web 开发还是日常编程。让我们讨论一些可以实现这一目标的方法。
方法#1:使用列表推导
列表推导可以很容易地用于执行这个特定的任务,但可以连续地制作第 i 个、第 (i+1) 个和第 (i+2) 个元素的对。
# Python3 code to demonstrate
# Consecutive Triple element pairing
# using list comprehension
# initializing list
test_list = [5, 4, 1, 3, 2]
# printing original list
print("The original list : " + str(test_list))
# using list comprehension
# Consecutive Triple element pairing
res = [[test_list[i], test_list[i + 1], test_list[i + 2]] for i in range(len(test_list) - 2)]
# print result
print("The consecutive element triple paired list is : " + str(res))
输出 :
The original list : [5, 4, 1, 3, 2]
The consecutive element triple paired list is : [[5, 4, 1], [4, 1, 3], [1, 3, 2]]
方法 #2:使用zip() + map()
此任务也可以使用 zip函数来完成,该函数执行所有元素的任务,而 map函数执行配对连续元素的任务。
# Python3 code to demonstrate
# Consecutive Triple element pairing
# using zip() + map()
# initializing list
test_list = [5, 4, 1, 3, 2]
# printing original list
print("The original list : " + str(test_list))
# using zip() + map()
# Consecutive Triple element pairing
res = list(map(list, zip(test_list, test_list[1:], test_list[2:])))
# print result
print("The consecutive element triple paired list is : " + str(res))
输出 :
The original list : [5, 4, 1, 3, 2]
The consecutive element triple paired list is : [[5, 4, 1], [4, 1, 3], [1, 3, 2]]