Python Check if elements index are equal for list elements (original) (raw)
Last Updated : 10 Mar, 2023
Given two lists and check list, test if for each element in check list, elements occur in similar index in 2 lists.
Input : test_list1 = [2, 6, 9, 7, 8], test_list2 = [2, 7, 9, 4, 8], check_list = [9, 8, 7] Output : False Explanation : 7 is at 4th and 2nd place in both list, hence False. Input : test_list1 = [2, 6, 9, 7, 8], test_list2 = [2, 6, 9, 4, 8], check_list = [9, 8, 6] Output : True Explanation : All from checklist at similar index, hence True.
Method #1 : Using loop
In this, we iterate for all the elements in list, if elements are different and is present in check list, then False is returned.
Python3
test_list1
=
[
2
,
6
,
9
,
7
,
8
]
test_list2
=
[
2
,
7
,
9
,
4
,
8
]
print
(
"The original list 1 : "
+
str
(test_list1))
print
(
"The original list 2 : "
+
str
(test_list2))
check_list
=
[
9
,
8
,
2
]
res
=
True
for
idx, ele
in
enumerate
(test_list1):
`` if
test_list1[idx] !
=
test_list2[idx]
and
ele
in
check_list:
`` res
=
False
`` break
print
(
"Are elements at same index for required instances ?: "
+
str
(res))
Output
The original list 1 : [2, 6, 9, 7, 8] The original list 2 : [2, 7, 9, 4, 8] Are elements at same index for required instances ?: True
Time Complexity: O(n), where n is the length of the input list.
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the list “test_list”.
Method #2 : Using zip() + all() + generator expression
In this, we pair like indices using zip() and then all() is used to check for all indices, generator expression is used for iteration logic.
Python3
test_list1
=
[
2
,
6
,
9
,
7
,
8
]
test_list2
=
[
2
,
7
,
9
,
4
,
8
]
print
(
"The original list 1 : "
+
str
(test_list1))
print
(
"The original list 2 : "
+
str
(test_list2))
check_list
=
[
9
,
8
,
2
]
res
=
all
(a
=
=
b
for
a, b
in
zip
(test_list1, test_list2)
if
a
in
check_list)
print
(
"Are elements at same index for required instances ?: "
+
str
(res))
Output
The original list 1 : [2, 6, 9, 7, 8] The original list 2 : [2, 7, 9, 4, 8] Are elements at same index for required instances ?: True
Method#3:Using list comprehension
Python3
test_list1
=
[
2
,
6
,
9
,
7
,
8
]
test_list2
=
[
2
,
7
,
9
,
4
,
8
]
print
(
"The original list 1 : "
+
str
(test_list1))
print
(
"The original list 2 : "
+
str
(test_list2))
check_list
=
[
9
,
8
,
2
]
res
=
all
(test_list1[i]
=
=
test_list2[i]
for
i
in
range
(
len
(test_list1))
if
test_list1[i]
in
check_list)
print
(
"Are elements at same index for required instances ?: "
+
str
(res))
Output
The original list 1 : [2, 6, 9, 7, 8] The original list 2 : [2, 7, 9, 4, 8] Are elements at same index for required instances ?: True
Time Complexity: O(n)
Auxiliary Space: O(n)