CheckIO (Python)> Éléments non uniques> J'ai essayé de mettre en œuvre

https://py.checkio.org/mission/non-unique-elements/

Processus de suppression des éléments non uniques de la liste. Par exemple, il renvoie «[1, 3, 1, 3]» pour «[1, 2, 3, 1, 3]».

v0.1

J'ai passé toutes les affirmations ci-dessous, mais la description est compliquée.

from collections import Counter

def checkio(data):
    print(list(data))

    counter = Counter(data)
    pickups = []
    for num, cnt in counter.most_common():
        if cnt > 1:
    		pickups.append(num)
    
    reslist = []
    for elem in data:
    	for flt in pickups:
    		if elem is flt:
    			reslist.append(elem)
    			
    #print(list(reslist))
    return reslist

#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")

Même si vous regardez la suggestion, elle indique que vous devriez utiliser list.append (), donc je ne peux penser à aucune amélioration.

v0.2

J'ai décidé d'arrêter de l'ajouter et de le supprimer.

from collections import Counter

def checkio(data):
    print(list(data))

    counter = Counter(data)
    removes = []
    for num, cnt in counter.most_common():
        if cnt == 1:
            removes.append(num)
    
    for elem in removes:
        data.remove(elem)
        
    #print(list(reslist))
    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")
    

Recommended Posts

CheckIO (Python)> Éléments non uniques> J'ai essayé de mettre en œuvre
[Python] J'ai essayé d'implémenter un échantillonnage de Gibbs marginalisé
CheckIO (Python)> Mot de passe maison> Je l'ai implémenté> PEP8: ne pas attribuer une expression lambda, utiliser une def
Livre Wrangle x Python Je l'ai essayé [2]
J'ai essayé d'implémenter la régression logistique de Cousera en Python
Livre Wrangle x Python Je l'ai essayé [1]
J'ai essayé d'implémenter le filtre anti-spam bayésien de Robinson avec python
Quand j'essaye matplotlib en Python, il dit 'cairo.Context'
J'ai commencé Python
J'ai implémenté CycleGAN (1)
J'ai essayé d'implémenter la fonction gamma inverse en python
J'ai implémenté ResNet!
J'ai essayé d'implémenter la recherche de priorité de largeur avec python (file d'attente, dessin personnalisé)
Puisque le memory_profiler de python est lourd, je l'ai mesuré
Je me suis demandé si Python 3.4 était plus rapide, mais c'était plus lent
AWS Lambda prend désormais en charge Python, je l'ai donc essayé
Python: peut être répété en lambda
J'ai implémenté une commande de remplacement de type Vim dans Slackbot #Python
[Streamlit] Je l'ai installé
Implémentation de SimRank en Python
Erreur Python non implémentée
J'ai essayé Python> autopep8
Qiskit: j'ai implémenté VQE
Mise en œuvre de la factorisation matricielle (python)
Python: peut être répété en lambda
J'ai essayé d'implémenter la régression logistique de Cousera en Python
CheckIO (Python)> Éléments non uniques> J'ai essayé de mettre en œuvre
Implémentation de DQN avec TensorFlow (je voulais ...)
J'ai essayé Python> décorateur
Pourquoi j'ai choisi Python
Implémentation de Shiritori en Python
J'ai comparé Python more-itertools 2.5 → 2.6
[Python] J'ai installé le jeu depuis pip et j'ai essayé de jouer
[Je l'ai fait avec Python] Outil pour la sortie par lots de données XML
J'ai essayé d'implémenter l'algorithme de calcul séquentiel non biaisé de Donald Knuth en Python