Python|提取相似的索引元素
有时,在处理Python数据时,我们可能会遇到需要从具有相似索引值的多个列表中提取值的问题。这种问题可能出现在许多领域。让我们讨论一些可以解决这个问题的方法。
方法 #1:使用循环 + zip()
上述功能的组合可以用来解决这个问题。在此,我们使用 zip 提取组合索引元素,然后使用循环中的条件语句提取并检查相似性。
# Python3 code to demonstrate working of
# Extracting similar index elements
# using loop + zip()
# initialize lists
test_list1 = ["a", "b", "c", "d"]
test_list2 = ["g", "b", "s", "d"]
# printing original lists
print("The original list 1 : " + str(test_list1))
print("The original list 2 : " + str(test_list2))
# Extracting similar index elements
# using loop + zip()
res = []
for i, j in zip(test_list1, test_list2):
if i == j:
res.append(i)
# printing result
print("Similar index elements in lists : " + str(res))
输出 :
The original list 1 : ['a', 'b', 'c', 'd']
The original list 2 : ['g', 'b', 's', 'd']
Similar index elements in lists : ['b', 'd']
方法 #2:使用zip()
+ 列表理解
这些功能的组合也可以用来解决这个问题。在此,我们使用与上述类似的方法,只是使用列表推导压缩的简写逻辑。
# Python3 code to demonstrate working of
# Extracting similar index elements
# using list comprehension + zip()
# initialize lists
test_list1 = ["a", "b", "c", "d"]
test_list2 = ["g", "b", "s", "d"]
# printing original lists
print("The original list 1 : " + str(test_list1))
print("The original list 2 : " + str(test_list2))
# Extracting similar index elements
# using list comprehension + zip()
res = [i for i, j in zip(test_list1, test_list2) if i == j]
# printing result
print("Similar index elements in lists : " + str(res))
输出 :
The original list 1 : ['a', 'b', 'c', 'd']
The original list 2 : ['g', 'b', 's', 'd']
Similar index elements in lists : ['b', 'd']