본문 바로가기

Python_Matter/[Check_IO]Home

Non-unique Elements

728x90

Quiz>

We have prepared a set of Editor's Choice Solutions. 

You will see them first after you solve the mission. In order to see all other solutions you should change the filter.

 

If you have 50 different plug types, appliances wouldn't be available and would be very expensive. 

But once an electric outlet becomes standardized, many companies can design appliances, and competition ensues, 

creating variety and better prices for consumers.

-- Bill Gates

 

You are given a non-empty list of integers (X).

For this task, you should return a list consisting of only the non-unique elements in this list.

To do so you will need to remove all unique elements (elements which are contained in a given list only once).

When solving this task, do not change the order of the list. Example: [1, 2, 3, 1, 3] 1 and 3 non-unique elements

and result will be [1, 3, 1, 3].

 

non-unique-elements

 

Input:

A list of integers.

 

Output:

An iterable of integers.

 

Example:

checkio([1, 2, 3, 1, 3]) == [1, 3, 1, 3]
checkio([1, 2, 3, 4, 5]) == []
checkio([5, 5, 5, 5, 5]) == [5, 5, 5, 5, 5]
checkio([10, 9, 10, 10, 9, 8]) == [10, 9, 10, 10, 9]
checkio([2]) == []

 

How it is used:

This mission will help you to understand how to manipulate arrays, 

something that is the basis for solving more complex tasks. 

The concept can be easily generalized for real world tasks. 

 

For example: 

if you need to clarify statistics by removing low frequency elements (noise).

You can find out more about Python arrays in one of our articles featuring lists, tuples, array.array and numpy.array.

 

Precondition:

0 < len(data) < 1000

 

#Your optional code here
#You can import some modules or create additional functions


def checkio(data: list) -> list:
    #Your code here
    #It's main function. Don't remove this function
    #It's used for auto-testing and must return a result for check.  

    #replace this for solution
    return data

#Some hints
#You can use list.count(element) method for counting.
#Create new list with non-unique elements
#Loop over original list


if __name__ == "__main__":
    #These "asserts" using only for self-checking and not necessary for auto-testing
    assert list(checkio([1, 2, 3, 1, 3])) == [1, 3, 1, 3], "1st example"
    assert list(checkio([1, 2, 3, 4, 5])) == [], "2nd example"
    assert list(checkio([5, 5, 5, 5, 5])) == [5, 5, 5, 5, 5], "3rd example"
    assert list(checkio([10, 9, 10, 10, 9, 8])) == [10, 9, 10, 10, 9], "4th example"
    print("It is all good. Let's check it now")

 

Solve>

1. 빈 리스트 생성

def checkio(data: list):
    empty_list = []

 

2. data에서 하나씩 가져와서 data 리스트안에 i가 1개 이상이면 빈리스트에 추가한다.

def checkio(data: list):
    for i in data:
        if data.count(i) != 1:
            empty_list.append(i)

 

3. 추가한 값을 반환한다.

def checkio(data: list):
    return empty_list

 

Code>

def checkio(data: list):
    empty_list = []
    
    for i in data:
        if data.count(i) != 1:
            empty_list.append(i)
            
    return empty_list

 

Example>

if __name__ == "__main__":
    # These "asserts" using only for self-checking and not necessary for auto-testing
    assert list(checkio([1, 2, 3, 1, 3])) == [1, 3, 1, 3], "1st example"
    assert list(checkio([1, 2, 3, 4, 5])) == [], "2nd example"
    assert list(checkio([5, 5, 5, 5, 5])) == [5, 5, 5, 5, 5], "3rd example"
    assert list(checkio([10, 9, 10, 10, 9, 8])) == [
        10, 9, 10, 10, 9], "4th example"
    print("It is all good. Let's check it now")

 

Result>

It is all good. Let's check it now

반응형

'Python_Matter > [Check_IO]Home' 카테고리의 다른 글

Count Digits  (0) 2020.04.15
All the Same  (0) 2020.04.15
Non-unique Elements  (0) 2020.04.15
Popular Words  (0) 2020.04.15
Sort Array by Element Frequency  (0) 2020.04.15
Pawn Brotherhood  (0) 2020.04.15