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]