Search
 
SCRIPT & CODE EXAMPLE
 

PYTHON

Delete occurrences of an element if it occurs more than n times

/*
Given a list and a number, create a new list that contains each number of list at 
	most N times, without reordering.
For example if the input number is 2, and the input list is [1,2,3,1,2,1,2,3], 
	you take [1,2,3,1,2], drop the next [1,2] since this would lead to 1 and 2 
    being in the result 3 times, and then take 3, which leads to [1,2,3,1,2,3].
With list [20,37,20,21] and number 1, the result would be [20,37,21].
*/

const deleteNth = (arr,n) => {
  let numCount = {}, occElem = []
  
  arr.forEach(num => {
    if(numCount[num] === undefined) numCount[num] = 0
    if(numCount[num] === n) return null
    else{
      occElem.push(num)
      numCount[num] += 1
     }
  })
  return occElem
}

// With love @kouqhar
Comment

delete occurrences of an element if it occurs more than n times python

def delete_nth(order, max_e):
    # Get a new list that we will return
    result = []

    # Get a dictionary to count the occurences
    occurrences = {}

    # Loop through all provided numbers
    for n in order:

        # Get the count of the current number, or assign it to 0
        count = occurrences.setdefault(n, 0)

        # If we reached the max occurence for that number, skip it
        if count >= max_e:
            continue

        # Add the current number to the list
        result.append(n)

        # Increase the 
        occurrences[n] += 1

    # We are done, return the list
    return result

assert delete_nth([20,37,20,21], 1) == [20, 37, 21]
assert delete_nth([1, 1, 1, 1], 2) == [1, 1]
assert delete_nth([1, 1, 3, 3, 7, 2, 2, 2, 2], 3) == [1, 1, 3, 3, 7, 2, 2, 2]
assert delete_nth([1, 1, 2, 2], 1) == [1, 2]
Comment

PREVIOUS NEXT
Code Example
Python :: delete rows in a table that are present in another table pandas 
Python :: seaborn.distplot() 
Python :: CSV data source does not support array<string data type 
Python :: python extract substring 
Python :: finding the maximum value in a list python 
Python :: python split string keep delimiter 
Python :: selenium webdriver options python 
Python :: python for loop with step 
Python :: python file back to beginning 
Python :: Format UTC to local timezone using PYTZ for Django 
Python :: python plot horizontal line 
Python :: install python3.6 in linux 
Python :: file uploads django 
Python :: sentence similarity python 
Python :: create button in pyqt 
Python :: compare two dates python 
Python :: get the name of all files in a computer in python 
Python :: python series unique 
Python :: inser elemts into a set in python 
Python :: Scrapping tables in an HTML file with BeautifulSoup 
Python :: list in list python 
Python :: hungry chef solution 
Python :: python open directory and read files 
Python :: find a key in a dictionary python 
Python :: plt.hist using bins 
Python :: python plot label value 
Python :: regex_2/_regex.c:50:10: fatal error: Python.h: No such file or directory 
Python :: insert list python 
Python :: python check if array 
Python :: pandas invert a boolean Series 
ADD CONTENT
Topic
Content
Source link
Name
6+5 =