📜  Python|间表异或

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

Python|间表异或

在许多情况下,需要找到两个不同列表的索引 XOR。这可以在日常编程中有可能的应用。让我们讨论可以执行此任务的各种方式。

方法#1:朴素的方法
在这种方法中,我们简单地运行一个循环并将相似索引处的两个列表元素的 XOR 附加到新列表,直到我们到达较小列表的末尾。这是完成这项任务的基本方法。

# Python code to demonstrate 
# Interlist XOR
# naive method 
  
# initializing lists
test_list1 = [1, 3, 4, 6, 8]
test_list2 = [4, 5, 6, 2, 10]
  
# printing original lists
print ("Original list 1 : " + str(test_list1))
print ("Original list 2 : " + str(test_list2))
  
# using naive method to 
# Interlist XOR
res_list = []
for i in range(0, len(test_list1)):
    res_list.append(test_list1[i] ^ test_list2[i])
  
# printing resultant list 
print ("Resultant list is : " + str(res_list))
输出 :
Original list 1 : [1, 3, 4, 6, 8]
Original list 2 : [4, 5, 6, 2, 10]
Resultant list is : [5, 6, 2, 4, 2]

方法#2:使用列表理解
上述技术的简写,列表推导式通常可以更快地键入,因此必须首选执行此类编程任务。

# Python code to demonstrate 
# Interlist XOR
# list comprehension
  
# initializing lists
test_list1 = [1, 3, 4, 6, 8]
test_list2 = [4, 5, 6, 2, 10]
  
# printing original lists
print ("Original list 1 : " + str(test_list1))
print ("Original list 2 : " + str(test_list2))
  
# using list comprehension to 
# Interlist XOR
res_list = [test_list1[i] ^ test_list2[i] for i in range(len(test_list1))]
  
# printing resultant list 
print ("Resultant list is : " + str(res_list))
输出 :
Original list 1 : [1, 3, 4, 6, 8]
Original list 2 : [4, 5, 6, 2, 10]
Resultant list is : [5, 6, 2, 4, 2]