Aidemy https:// aidemy.net 2020/9/21
Ravi de vous rencontrer, c'est Ngahope! Je suis une école littéraire croustillante, mais j'ai commencé à fréquenter l'école d'apprentissage de l'IA "Aidemy" cette semaine parce que j'étais intéressé par les possibilités de l'IA. J'y apprends diverses connaissances sur l'IA. Je voulais partager ces connaissances avec vous, alors j'ai décidé de les rassembler dans Qiita.
Lisez-le s'il vous plaît!
Quoi apprendre cette fois ・ Notation sur une ligne ・ Affichage fractionné de la liste ・ Traitement effectué sur le dictionnaire
lambda(1) -Une fonction définie par def et renvoyée par return peut être exprimée sur une seule ligne en utilisant lambda.
__ · Argument lambda: valeur renvoyée __
# x*Définit la fonction a qui renvoie 4
a=lambda x: x*4
print(a(4))
# 16
-Il suffit de séparer les arguments par ","
a=lambda x,y: x+y
print(a(3,6))
# 9
・ Écrivez si le reste côte à côte __ · Argument lambda: Process (True) si Condition else Autre Process __
a=lambda x: x*4 if x>4 else x=4
print(a(6))
# 24
-Utilisez la fonction de division lorsque vous souhaitez diviser par un certain symbole (un type). __ · Chaîne de caractères .split ("symbole") __
text="my name is ngayope"
text.split(" ") # " (espace)"Séparé par
# ['my','name','is','ngayope']
-Utilisez la fonction re.split lorsque vous souhaitez diviser par plusieurs symboles (re doit être importé pour être utilisé) __ ・ re.split ("[symbole]", chaîne de caractères) __
import re
text="Fushigidane,Lézard humain.Zenigame"
re.split("[,.]",text)
# ['Fushigidane','Lézard humain','Zenigame']
-Lors de l'utilisation d'une fonction pour chaque élément de la liste, utilisez la fonction map. Une telle fonction est appelée un «itérateur». __ ・ list (map (fonction, liste)) __ * Si vous ne la placez pas dans list (), le résultat de l'application de la fonction ne sera pas reflété!
import re
time_list =["2006/11/26_2:40","2009/1/16_23:35","2014/5/4_14:26","2017/8/9_7:5","2017/4/1_22:15"]
# time_Fonction pour extraire le "temps" de la liste
hour_pick = lambda x: int(re.split("[/_:]",x)[3])
#↑ Première re.Divisez la chaîne avec split. Puis int cette chaîne()Convertissez en une valeur numérique avec. finalement[3]Affichez la fonction pour extraire la partie "heure" avec lambda sur une ligne.
#time_Appliquez la fonction à la liste et renvoyez le résultat.
list(map(hour_pick,time_list))
# [2,23,14,7,22]
-Il peut être extrait en utilisant la fonction de filtre de la même manière que map. __ · liste (filtre (fonction de jugement d'authenticité, liste)) __
#Au-dessus du temps_Une fonction qui définit True uniquement pour les listes dont le "mois" est après juillet
judge=lambda a: int(re.split("[/_:]",a)[1] >6
list(filter(judge,time_list))
# ["2006/11/26_2:40","2017/8/9_7:5"]
-Utiliser la fonction triée au lieu de la fonction tri. __ · trié (liste, clé = fonction de référence, inverse = Vrai (ordre décroissant)) __
list1=[[2,3][4,1][5,5][9,0][0,7][1,6]]
#Trier en fonction du deuxième élément (ordre décroissant)
sorted(list1,key=lambda x: x[1],reverse=False)
# [[0,7][1,6][5,5][2,3][4,1][9,0]]
-La fonction peut être appliquée à tous les éléments de la même manière que la fonction de carte en procédant comme suit. __ · [Fonction pour la variable dans la liste] __
cm=[100,50,500,3,380]
#[◯m,◯cm]Fonction pour calculer comme
m_cm=lambda x:[x//100,x%100]
print([m_cm(x) for x in cm])
#[[1,0],[0,50],[5,0],[0,3],[3,80]]
-Même si vous procédez comme suit, vous ne pouvez extraire que les éléments qui remplissent les conditions, tout comme la fonction de filtrage. __ · [Élément de variable dans la liste si fonction d'authenticité] __
#Extraire uniquement les "objets de plus de 1 m" dans le cm supérieur
[x for x in cm if x>=100]
# [100,500,380]
-Même s'il s'agit d'une liste séparée, un traitement en boucle peut être effectué à l'aide de la fonction zip. __ · pour les variables 1,2 dans zip (Listing 1,2): __ En traitement __ · [Traitement des variables 1, 2 dans zip (Liste 1, 2)] __
a = [1,-2,3,-4,5]
b = [9,8,-7,-6,-5]
#Pour chaque élément de la liste, x*4+y*Faire 2
[x*4+y*2 for x,y in zip(a, b)]
# [22,8,-2,-28,10]
・ Lors de la lecture en boucle de l'une des deux listes et de l'autre -Définissez une instruction for dans chacune des deux listes et décrivez le traitement des deux variables. -Utilisez la méthode suivante pour le traitement dans la liste. ** [[Process] for Variable 1 in List 1 for Variable 2 in List 2] **
a=[1,2]
b=[5,6]
print([[x+y]for x in a for y in b])
# [6,7,7,8]
-Normalement, il est nécessaire d'initialiser le contenu du dictionnaire un par un, mais il peut être facilement ajouté en utilisant la classe defaultdict au lieu du dictionnaire. ** ・ defaultdict (type d'élément (int, dir, etc.)) **
from collections import defaultdict
d=defaultdict(int)
lst=['Fushigidane','Lézard humain','Zenigame','Lézard humain']
#Retirez chaque élément de la liste en tant que clé et ajoutez 1 au nombre de clés qui apparaissent.
for key in lst:
__d[key] += 1
print(d)
# defaultdict(<class='int'>,{'Fushigidane':1,'Lézard humain':2,'Zenigame':1})
-Vous pouvez facilement ajouter des éléments en utilisant defaultdict. ** ・ defaultdict dictionary [clé] .append (élément) **
#dictionnaire de type de liste
a=[('Lézard humain',5),('Lézard',16),('Lézardン',36),('Lézardン',100)]
d=defaultdict(list)
#index d'un[0]Vers x, index[1]Est affecté à y et extrait
for x,y in a:
__d[x].append(y)
print(d)
#defaultdict(<class='list'>,{'Lézard humain':[5],'Lézard':[16],'Lézardン':[36,100]})
-En utilisant la classe Counter, il est plus facile de compter que le dict par défaut. ** ・ Compteur (données de comptage) ** -En définissant ".most_common (nombre d'éléments)", il trie par ordre décroissant et génère le nombre d'éléments spécifié.
from collections import Counter
lst=['Fushigidane','Lézard humain','Zenigame','Lézard humain']
print(Counter(lst).most_common(1))
# Counter({'Lézard humain':2})
-En utilisant lambda, la fonction est multipliée sur une ligne. ・ Split et re. Vous pouvez diviser la liste avec Split. -Si une instruction for et une fonction sont décrites dans la liste [], la fonction peut être facilement appliquée aux éléments de la liste. -En utilisant defaultdict et Counter, vous pouvez facilement compter les éléments du dictionnaire.
Cette fois, c'est fini. Merci d'avoir lu jusqu'ici.
Recommended Posts