Skip to content
Related Articles

Related Articles

Python program to Occurrences of i before first j in list

View Discussion
Improve Article
Save Article
Like Article
  • Last Updated : 08 Dec, 2020

Given a list, the task is to write a Python program to count the occurrences of ith element before the first occurrence of jth element.

Examples:

Input : test_list = [4, 5, 6, 4, 1, 4, 8, 5, 4, 3, 4, 9], i, j = 4, 8 
Output : 3 
Explanation : 4 occurrs 3 times before 8 occurs.

Input : test_list = [4, 5, 6, 4, 1, 4, 8, 5, 4, 3, 4, 9], i, j = 5, 8 
Output : 1 
Explanation : 5 occurrs 1 time before 8 occurs. 
 

Method #1 : Using loop.

In this, we increment counter whenever i is encountered and stop when any j has occurred, i.e breaking from the loop.

Python3




# Python3 code to demonstrate working of
# Occurrences of i before first j
# Using loop
  
# initializing Matrix
test_list = [4, 5, 6, 4, 1, 4, 8, 5, 4, 3, 4, 9]
               
# printing original list
print("The original list is : " + str(test_list))
  
# initializing i, j 
i, j = 4, 8
  
res = 0
for ele in test_list:
      
    # breaking on 1st j
    if ele == j:
        break
      
    # counting i till 1st j
    if ele == i:
        res += 1
  
# printing result
print("Number of i's till 1st j : " + str(res))

Output:

The original list is : [4, 5, 6, 4, 1, 4, 8, 5, 4, 3, 4, 9]
Number of i's till 1st j : 3

Method #2 : Using index() + slicing + count()

In this, we perform the task of getting the index of j, and then slice list till there, count() is used to get a count of i in the sliced list to get the required result.

Python3




# Python3 code to demonstrate working of
# Occurrences of i before first j
# Using index() + slicing + count()
  
# initializing Matrix
test_list = [4, 5, 6, 4, 1, 4, 8, 5, 4, 3, 4, 9]
               
# printing original list
print("The original list is : " + str(test_list))
  
# initializing i, j 
i, j = 4, 8
  
# getting index
jidx = test_list.index(j)
  
# slicing list 
temp = test_list[:jidx]
  
# getting count 
res = temp.count(i)
  
# printing result
print("Number of i's till 1st j : " + str(res))

Output:

The original list is : [4, 5, 6, 4, 1, 4, 8, 5, 4, 3, 4, 9]
Number of i's till 1st j : 3


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!