📜  Python – 将元素与矩阵行中的后元素配对

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

Python – 将元素与矩阵行中的后元素配对

有时,在处理数据时,我们可能会遇到一个问题,即我们需要将容器中的每个元素与特定的索引元素配对,例如后方元素。这类问题可以在很多领域都有应用。让我们讨论可以执行此任务的某些方式。

方法#1:使用列表推导
这是可以执行此任务的一种方式。在此,我们遍历列表中的每个行元素,并使用列表的负索引将其与后元素配对。

# Python3 code to demonstrate 
# Pair elements with Rear element in Matrix Row
# using list comprehension
  
# Initializing list
test_list = [[4, 5, 6], [2, 4, 5], [6, 7, 5]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Pair elements with Rear element in Matrix Row
# using list comprehension
res = []
for sub in test_list:
    res.append([[ele, sub[-1]] for ele in sub[:-1]])
      
# printing result 
print ("The list after pairing is : " + str(res))
输出 :
The original list is : [[4, 5, 6], [2, 4, 5], [6, 7, 5]]
The list after pairing is : [[[4, 6], [5, 6]], [[2, 5], [4, 5]], [[6, 5], [7, 5]]]

方法 #2:使用product() + 循环
上述方法的组合也可用于执行此任务。在此,我们遍历列表并使用产品执行配对任务,从而减少一对循环。

# Python3 code to demonstrate 
# Pair elements with Rear element in Matrix Row
# using product() + loop
from itertools import product
  
# Initializing list
test_list = [[4, 5, 6], [2, 4, 5], [6, 7, 5]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Pair elements with Rear element in Matrix Row
# using product() + loop
res = []
for idx in test_list:
    res.append(list(product(idx[:-1], [idx[-1]])))
      
# printing result 
print ("The list after pairing is : " + str(res))
输出 :
The original list is : [[4, 5, 6], [2, 4, 5], [6, 7, 5]]
The list after pairing is : [[[4, 6], [5, 6]], [[2, 5], [4, 5]], [[6, 5], [7, 5]]]