Notes sur les connaissances Python utilisables avec AtCoder

Préface

Je vais l'écrire car cela a le sens de laisser un mémo de connaissances que j'oublie d'écrire même si je pense qu'il n'est pas souvent utilisé dans AtCoder. L'explication est superficielle, donc si vous voulez en savoir plus, veuillez consulter d'autres articles.

Rechercher le nombre d'éléments dans la liste

On vérifie souvent si la variable a est incluse dans la liste des données par «if a in data». Cependant, j'ai été impressionné s'il y avait quelque chose que je pourrais facilement écrire sur le numéro, alors je vais le présenter.

qiita1.py


box = [4, 2, 1, 0, 3]
print(box.index(3))
#4

En utilisant ʻindex () `de cette manière, la réponse que la valeur de 3 est la quatrième est renvoyée.

Spécifiez plusieurs clés dans une liste multidimensionnelle et triez

Il est très difficile de dire les en-têtes, mais en termes simples, vous avez l'impression de pouvoir définir des priorités lors du tri d'une liste multidimensionnelle. Je pense que c'est encore difficile, mais ...

box = [[1,1,8], [8,6,4], [5,9,8]]

Si vous avez une telle liste multidimensionnelle, vous pouvez penser comme ça. "Je veux les organiser dans l'ordre croissant, mais je veux qu'ils soient dans l'ordre croissant ** dans l'ordre du troisième nombre, du premier nombre et du deuxième nombre." Lorsque cela se produit, l'expression lambda entre en jeu.

qiita2.py


box = [[1,1,8], [8,6,4], [5,9,8]]

box_sort = sorted(box)
print(box_sort)
#[[1, 1, 8], [5, 9, 8], [8, 6, 4]]

box_sort = sorted(box, key=lambda box_i:(box_i[2], box_i[0], box_i[1]))
print(box_sort)
#[[8, 6, 4], [1, 1, 8], [5, 9, 8]]

Tu peux le faire. Le résultat changera car la priorité lors du tri est triée dans l'ordre d'écriture. Il y a un sujet similaire dans le titre ci-dessous, alors veuillez le voir également. Je vais omettre l'explication de l'expression lambda. Références ([Python] Trier les listes multidimensionnelles par plusieurs clés)

Lorsque vous souhaitez spécifier plusieurs clés dans une liste multidimensionnelle et effectuer à la fois l'ordre croissant et décroissant

box=[[1,1,8], [8,6,4], [5,9,8]]

Si vous avez une telle liste multidimensionnelle, vous pouvez penser comme ça. "Je veux que vous fassiez ** croissant, décroissant, croissant ** dans l'ordre du troisième nombre, du premier nombre et du deuxième nombre." Lorsque cela se produit, n'est-ce pas possible avec le titre ci-dessus? ?? je pense

qiita3.py


box = [[1,1,8], [8,6,4], [5,9,8]]

box_sort = sorted(box, key=lambda box_i:(box_i[2], box_i[0], box_i[1]))
print(box_sort)
#[[8, 6, 4], [1, 1, 8], [5, 9, 8]]

box_sort = sorted(box, key=lambda box_i:(box_i[2], -box_i[0], box_i[1]))
print(box_sort) 
#[[8, 6, 4], [5, 9, 8], [1, 1, 8]]

En ajoutant «-» de cette manière, la valeur est multipliée par «-1», donc plus la valeur est grande, plus elle devient petite. Vous pouvez l'utiliser dans l'ordre décroissant et croissant. Pour le problème de ABC128_B, je pense que ce sera un bon exemple à étudier si vous le résolvez en utilisant cette expression lambda.

Je veux manipuler le type de dictionnaire

Après avoir créé un type de dictionnaire à l'aide de Counter, etc., je me souviens avoir eu du mal à traiter ce type de dictionnaire, donc je vais l'écrire facilement. keys (): Seule la clé de chaque élément peut être récupérée. values (): Seules les valeurs de chaque élément peuvent être récupérées. ʻItems () `: La clé et la valeur de chaque élément peuvent être récupérées. Il est utilisé lors du retrait en utilisant ces trois ou en tournant avec pour.

Références (Dictionnaire Python (dict) pour le traitement en boucle (clés, valeurs, éléments) )

finalement

Comme c'était la première fois, j'ai utilisé un langage poli, mais je pense que ce sera bâclé la prochaine fois. Puisqu'il s'agit de mon premier message, veuillez me contacter si vous avez des informations incorrectes ou de mauvaises manières. Veuillez noter que le mémo est également significatif.

Postscript

Il y a eu une erreur dans le contenu de strip (), il s'est avéré qu'il n'est pas nécessaire d'utiliser strip () car l'erreur ne se produit pas réellement là où la description précédente indique qu'une erreur se produit. Par conséquent, la description a été supprimée. Diffusion d'informations incertaines Nous sommes désolés.

Recommended Posts

Notes sur les connaissances Python utilisables avec AtCoder
Types de fichiers pouvant être utilisés avec Go
Optimisation mathématique pour un travail gratuit avec Python + PuLP
Pour pouvoir utiliser le japonais avec Python dans l'environnement Docker
[Python] Connaissances de base utilisées dans AtCoder
SSD 1306 OLED peut être utilisé avec Raspeye + python (Remarque)
Scripts pouvant être utilisés lors de l'utilisation de Bottle en Python
[Python] Introduction au scraping WEB | Résumé des méthodes pouvant être utilisées avec webdriver
[Python] Créez un graphique qui peut être déplacé avec Plotly
Peut être utilisé avec AtCoder! Une collection de techniques pour dessiner du code court en Python!
J'ai fait un shuffle qui peut être réinitialisé (inversé) avec Python
Résumé de l'entrée standard de Python pouvant être utilisée dans Competition Pro
Module standard Python utilisable en ligne de commande
Comprendre les probabilités et les statistiques qui peuvent être utilisées pour la gestion des progrès avec un programme python
J'ai créé un modèle de projet Python générique
Module de traitement du signal acoustique qui peut être utilisé avec Python-Sounddevice ASIO [Application]
Python-Sound device Module de traitement du signal acoustique ASIO [Basic]
Fonctions pouvant être utilisées dans l'instruction for
Répertorier les packages pouvant être mis à jour avec pip
Comment installer la bibliothèque Python qui peut être utilisée par les sociétés pharmaceutiques
Algorithmes de base utilisables par les pros de la compétition
Liste des couleurs pouvant être définies avec tkinter (mémorial)
Enregistrement d'image ANT qui peut être utilisé en 5 minutes
Peut être utilisé chez les pros de la compétition! Bibliothèque standard Python
[Django] À propos des utilisateurs pouvant être utilisés sur un modèle
Limites qui peuvent être analysées à la fois avec MeCab
Convertir des images du SDK FlyCapture en un formulaire pouvant être utilisé avec openCV
Serveur de partage de fichiers réalisé avec Raspberry Pi pouvant être utilisé pour le travail à distance
Liste des outils qui peuvent être utilisés pour essayer facilement l'analyse des émotions des phrases japonaises avec Python (essayez avec google colab)
Bleu clair avec AtCoder @Python
Récapitulatif du format des formats qui peuvent être sérialisés avec gensim
Il semble que le suivi des squelettes puisse être effectué avec RealSense
Connaissance de base du DNS qui ne peut pas être entendue maintenant
pd.tseries.offsets.DateOffset peut être assez lent s'il n'est pas utilisé avec prudence
[Python] Les arguments de longueur variable peuvent être utilisés lors de la décompression des éléments itérables
Goroutine (contrôle parallèle) utilisable sur le terrain
Goroutine utilisable sur le terrain (édition errgroup.Group)
J'ai étudié le prétraitement qui peut être fait avec PyCaret
Faisons un diagramme sur lequel on peut cliquer avec IPython
Installez Mecab et CaboCha sur ubuntu16.04LTS afin qu'il puisse être utilisé à partir de la série python3
[Python3] Code qui peut être utilisé lorsque vous souhaitez redimensionner des images dossier par dossier
[Atcoder] [C ++] J'ai fait un outil d'automatisation de test qui peut être utilisé pendant le concours
TensorFlow 2.2 ne peut pas être installé avec Python 3.8!
[Python] Dessinez des données d'altitude sur une surface sphérique avec Plotly et dessinez un globe qui peut être tourné en rond et en rond
Jusqu'à ce que la géométrie de la torche ne puisse être utilisée qu'avec le processeur Windows (ou Mac)
[Python] J'ai créé ma propre bibliothèque qui peut être importée dynamiquement
J'ai fait un package qui peut comparer des analyseurs morphologiques avec Python
Enquête sur l'alimentation CC contrôlable par Python
J'ai essayé de l'étendre pour que la base de données puisse être utilisée avec le logiciel d'analyse de Wiire
Créez une Spinbox qui peut être affichée en binaire avec Tkinter
33 chaînes à ne pas utiliser comme noms de variables en python
(Note) Soyez prudent avec python argparse
Un minuteur (ticker) qui peut être utilisé sur le terrain (peut être utilisé n'importe où)
Recommandation de résolution des problèmes d'AtCoder avec python (20200517-0523)
J'ai acheté et analysé la loterie jumbo de fin d'année avec Python qui peut être exécutée dans Colaboratory
Installer les packages qui doivent être compilés avec Python 3 avec pip [Windows]
requirements.txt peut être commenté avec #
Résolu AtCoder ABC 114 C-755 avec Python3