[Introduction to Data Scientists] Bases de Python ♬ Branchements conditionnels et boucles

Suite de la nuit dernière. 【Mise en garde】 ["Cours de formation de scientifique des données à l'Université de Tokyo"](https://www.amazon.co.jp/%E6%9D%B1%E4%BA%AC%E5%A4%A7%E5%AD%A6%E3 % 81% AE% E3% 83% 87% E3% 83% BC% E3% 82% BF% E3% 82% B5% E3% 82% A4% E3% 82% A8% E3% 83% B3% E3% 83 % 86% E3% 82% A3% E3% 82% B9% E3% 83% 88% E8% 82% B2% E6% 88% 90% E8% AC% 9B% E5% BA% A7-Python% E3% 81 % A7% E6% 89% 8B% E3% 82% 92% E5% 8B% 95% E3% 81% 8B% E3% 81% 97% E3% 81% A6% E5% AD% A6% E3% 81% B6 % E3% 83% 87% E2% 80% 95% E3% 82% BF% E5% 88% 86% E6% 9E% 90-% E5% A1% 9A% E6% 9C% AC% E9% 82% A6% Je vais lire E5% B0% 8A / dp / 4839965250 / ref = tmm_pap_swatch_0? _ Encoding = UTF8 & qid = & sr =) et résumer les parties que j'ai des doutes ou que je trouve utiles. Par conséquent, je pense que le synopsis sera simple, mais veuillez le lire en pensant que le contenu n'a rien à voir avec ce livre.

Chapitre1-2 Principes de base de Python

Les opérateurs et les opérations sont résumés pour référence. 【référence】 Introduction de Tohoho aux opérateurs Python

1-2-4 Branche et boucle conditionnelles

Le code Python s'exécute de haut en bas. Syntaxe pour modifier le flux et effectuer un branchement conditionnel et un traitement itératif

1-2-4-1 Opérateur de comparaison et jugement d'authenticité
print(1 == 1)
print(1 == 2)
print(1 != 2)
print(1 > 0)
print(1 > 2)
print((1 > 0) and (10 > 5))
print((1 < 0) or (10 > 5))
print(not (1 < 0))
print(not (1 < 0))
print(not (1 < 0) and (10 > 5))
print(not (1 < 0) and not (10 > 5))
print(5 >= 50 or 5 < 20 and 5 == 5)
print((5 >= 50 or 5 < 20) and 5 == 5)

résultat

True
False
True
True
False
True
True
True
True
False
True
True

【référence】 Illustration! Explication approfondie de la façon de spécifier plusieurs conditions avec et et ou dans l'instruction if de Python! Pour référence, le code ci-dessous est «Faux».

x = 5
y = 5
if x >= 50 or x < 20 and y == 5:
   print("Vrai.")
else:
   print("Faux.")

Raison; et a priorité sur et Cependant, dans la priorité actuelle de l'opérateur dans Python3, ou a la priorité sur et, et il devient True. 【référence】 6.17. Operator precedence (Partiellement cité)

Operator Description
:= Assignment expression
lambda Lambda expression
if – else Conditional expression
or Boolean OR
and Boolean AND
not x Boolean NOT
in, not in, is, is not, <, <=, >, >=, !=, == Comparisons, including membership tests and identity tests
^ Bitwise XOR
& Bitwise AND
... ...
1-2-4-2 if instruction

De base

si expression conditionnelle 1:
    `Traitement à effectuer lorsque l'expression conditionnelle 1 est True`
expression conditionnelle elif 2:
    `Traitement à effectuer lorsque l'expression conditionnelle 1 est False et que l'expression conditionnelle 2 est True`
expression conditionnelle elif 3:
    `Expression conditionnelle 1,Traitement à effectuer lorsque 2 est False et que l'expression conditionnelle 3 est True`
...
else:
    `Traitement à effectuer lorsque toutes les expressions conditionnelles sont False` 
Dans l'expression conditionnelle de l'instruction if en Python, les objets suivants sont considérés comme faux False.
・ Type booléen Faux
· Aucun
・ Valeur numérique (type int ou type float) 0, 0.0
・ Chaîne de caractères vide''
· Conteneurs vides (listes, tapples, dictionnaires, etc.)[], (), {}

Tout le reste est considéré comme vrai Vrai.

Jusqu'à présent, cité de la référence suivante 【référence】 Comment écrire une branche conditionnelle par instruction if en Python

data_list = [1,2,3,4,5,6,7] 
findvalue = 8
if findvalue in data_list:
    print('{}Est inclus'.format(findvalue))
else:
    print('{}N'est pas inclu'.format(findvalue))
print('trouver la valeur est{}était'.format(findvalue))

résultat La dernière ligne d'impression est toujours imprimée en dehors de l'instruction if.

8 n'est pas inclus
trouver la valeur était 8
notation de format

【référence】 [Introduction à Python] Comment écrire une chaîne de caractères avec la fonction format En regardant la référence, je vais essayer la notation qui me semble intéressante.

apple  = 50
orange = 100
total = apple + orange

print('pomme:{0}Yen mikan:{1}Total en yens:{2}Cercle'.format(apple, orange, total))
print('pomme:{}Yen mikan:{}Total en yens:{}Cercle'.format(apple, orange, total))

list1 = [apple, orange]  #Créer une liste
list2 = [total]
print('pomme:{0[0]}Yen mikan:{0[1]}Total en yens:{1[0]}Cercle'.format(list1,list2))
print('pomme:{0[0]}Yen mikan:{0[1]}Total en yens:{1}Cercle'.format(list1,list2[0]))
print('pomme:{}Yen mikan:{}Total en yens:{}Cercle'.format(list1[0],list1[1],list2[0]))
Pommes: 50 yens Mikan: 100 yens Total: 150 yens
Pommes: 50 yens Mikan: 100 yens Total: 150 yens
Pommes: 50 yens Mikan: 100 yens Total: 150 yens
Mikan: 100 yens Pomme: 50 yens Total: 150 yens
Pommes: 50 yens Mikan: 100 yens Total: 150 yens

La notation pour les virgules flottantes est souvent utilisée, alors voyez ci-dessous. 【référence】 Format de chaîne Python (comment utiliser la méthode de format)

line = "{0}Est grand{1:.0f}cm, poids{2:.1f}C'est kg.".format("Yamada", 190, 105.3)
print(line)
line = "{1}Est grand{2:^10,.5f}mm, poids{3:.0f}C'est kg.".format("Yamada","Montagne", 1900, 105.3)
print(line)

résultat

M. Yamada mesure 190 cm et pèse 105.C'est 3 kg.
La taille de M. Yama est de 1,900.Il mesure 00000 mm et pèse 105 kg.
{2:^10,.5f} 1,900.00000
2 index
: Début du format
^ Position de sortie
10 Largeur de sortie
, Dans mille lieux,
.5 5 chiffres après l'affichage de la virgule décimale
f Nombre à virgule flottante
1-2-4-3 pour la peine

Les trois types d'instructions for suivants sont souvent utilisés (valeur numérique, type de liste, type de dictionnaire)

1-2-4-4 valeur numérique

Ce qui suit est normalement passé de 0 à 10. Le calcul est une addition. Il est émis à chaque fois. range (0,11,1); range (valeur initiale, valeur finale + 1, intervalle)

s=0
for i in range(0,11,1):
    s += i
    print(s)

résultat

0
1
3
6
10
15
21
28
36
45
55
type de liste
s=0
list1 = [0,1,2,3,4,5,6,7,8,9,10]    
for i in list1:
    s += i
    print(s)

résultat

0
1
3
6
10
15
21
28
36
45
55
Sorte de dictionnaire
dict_data = {'apple':100,'banana':100,'orange':300,'mango':400,'melon':500}
for dict_key in dict_data:
    print(dict_key,dict_data[dict_key])

résultat

apple 100
banana 100
orange 300
mango 400
melon 500

Obtenez la clé et la valeur du type de dictionnaire avec dict_data.items () et la sortie

dict_data = {'apple':100,'banana':100,'orange':300,'mango':400,'melon':500}
for key, value in dict_data.items():
    print(key,value)

résultat

apple 100
banana 100
orange 300
mango 400
melon 500
1-2-4-5 Notation inclusive
data_list = [1,2,3,4,5,6,7,8,9]
data_list1 = []
data_list1 = [i*2 for i in data_list]
print(data_list1)

résultat

[2, 4, 6, 8, 10, 12, 14, 16, 18]

Sortie uniquement lorsque i% 2 == 0 (le reste lorsque i est divisé par 2 est 0)

print([i*2 for i in data_list if i%2==0])
[4, 8, 12, 16]
Fonction zip 1-2-4-6

Lorsqu'il y a deux listes comme indiqué ci-dessous, les éléments peuvent être extraits dans l'ordre de chaque liste.

list1 = ['apple','banana','orange','mango','melon']
list2 = [100, 100, 300, 400, 500]
for one, two in zip(list1, list2):
    print(one, two)

résultat À propos, si le nombre d'éléments ne correspond pas, la sortie est effectuée selon le plus petit nombre depuis le début.

apple 100
banana 100
orange 300
mango 400
melon 500
Créer des données de dictionnaire à partir de deux listes avec la fonction zip
dict_new = {}
list1 = ['apple','banana','orange','mango','melon','pinapple']
list2 = [100, 100, 300, 400, 500]
for one, two in zip(list1, list2):
    dict_new.update({one: two})
print(dict_new)
print(type(dict_new))

résultat

{'apple': 100, 'banana': 100, 'orange': 300, 'mango': 400, 'melon': 500}
<class 'dict'>
fonction énumérer
list1 = ['apple','banana','orange','mango','melon','pinapple']
list2 = [100, 100, 300, 400, 500]
for i, name in enumerate(list1):
    print(i, name)

résultat

0 apple
1 banana
2 orange
3 mango
4 melon
5 pinapple

Spécification d'index de démarrage

for i, name in enumerate(list1, 3):
    print(i, name)

résultat

3 apple
4 banana
5 orange
6 mango
7 melon
8 pinapple

Zip list1 et list2 et ajoutez un index.

for i, name in enumerate(zip(list1, list2)):
    print(i, name)

résultat

0 ('apple', 100)
1 ('banana', 100)
2 ('orange', 300)
3 ('mango', 400)
4 ('melon', 500)
1-2-4-7 Traitement itératif utilisant l'instruction while
num = 0
s = 0
while num <= 10:
    s += num
    print(s)
    num += 1

résultat

0
1
3
6
10
15
21
28
36
45
55
continuer et rompre

Le résultat du code ci-dessous est le même que ci-dessus, mais tandis que 1: est toujours vrai, démontrant le rôle de la continuation du coton et de la rupture de rupture.

num = 0
s = 0
while 1:
    if num <= 10:
        s += num
        print(s)
        num += 1
        continue
    break

Soit dit en passant, s'il n'y a pas de suite, cela se terminera à 0, et s'il n'y a pas de pause, le processus ne se terminera pas. De plus, si les deux ne sont pas disponibles, le processus ne se terminera pas.

Résumé

・ Branchement conditionnel et règles ・ Si instruction, pour instruction, notation d'inclusion, fonction zip, fonction énumération, tandis que l'instruction est résumée.

Il est facile de comprendre si vous revenez à l'essentiel et que vous les disposez côte à côte.

Recommended Posts

[Introduction to Data Scientists] Bases de Python ♬ Branchements conditionnels et boucles
[Introduction au Data Scientist] Bases de Python ♬
[Introduction to Data Scientists] Bases de Python ♬ Fonctions et classes
[Introduction aux Data Scientists] Bases de Python ♬ Fonctions et fonctions anonymes, etc.
[Introduction aux data scientists] Bases de la probabilité et des statistiques ♬ Variable de probabilité / probabilité et distribution de probabilité
[Introduction à Data Scientist] Bases du calcul scientifique, du traitement des données et comment utiliser la bibliothèque de dessins graphiques graph Bases de Scipy
[Introduction à Data Scientist] Bases du calcul scientifique, du traitement des données et comment utiliser la bibliothèque de dessin de graphes ♬ Bases de Matplotlib
Liste des bibliothèques Python pour les data scientists et les data ingénieurs
[Introduction to Data Scientist] Bases du calcul scientifique, du traitement des données et comment utiliser la bibliothèque de dessins graphiques ♬ Construction d'environnement
[Introduction à cx_Oracle] (Partie 6) Mappage des types de données DB et Python
[Introduction aux Data Scientists] Statistiques descriptives et analyse de régression simple ♬
[Introduction à Python] Combinaison des données Nikkei Average et NY Dow CSV
Introduction aux bases de Python de l'apprentissage automatique (apprentissage non supervisé / analyse principale)
[Introduction à Python] J'ai comparé les conventions de nommage de C # et Python.
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie2-
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie4-
[Introduction à Udemy Python3 + Application] 69. Importation du chemin absolu et du chemin relatif
[Introduction à l'application Udemy Python3 +] 12. Indexation et découpage des chaînes de caractères
[Introduction à cx_Oracle] (Partie 2) Principes de base de la connexion et de la déconnexion à Oracle Database
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie3-
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.1-8.2.5)
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.3-8.3.6.1)
[Introduction à Python3 Jour 19] Chapitre 8 Destinations de données (8.4-8.5)
[Introduction à Python3 Day 18] Chapitre 8 Destinations de données (8.3.6.2 à 8.3.6.3)
Compressez les données python et écrivez sur sqlite
Introduction facile de la série python3 et d'OpenCV3
Les bases de Python ①
Bases de python ①
Introduction de Python
[Introduction à Udemy Python3 + Application] 26. Copie du dictionnaire
[Introduction à Python3 Jour 12] Chapitre 6 Objets et classes (6.3-6.15)
[Cx_Oracle Primer] (Partie 3) Bases de la navigation dans les tableaux
[Introduction à Python3, jour 22] Chapitre 11 Traitement parallèle et mise en réseau (11.1 à 11.3)
[Introduction à Python] Comment gérer les données au format JSON
[Introduction à l'application Udemy Python3 +] 64. Espace de noms et portée
[Introduction à Python3 Jour 11] Chapitre 6 Objets et classes (6.1-6.2)
[Python] Chapitre 02-01 Bases des programmes Python (opérations et variables)
[Introduction à cx_Oracle] (5e) Gestion des données japonaises
Liste de code Python à déplacer et à mémoriser
[Introduction à Python] Utilisation de base des expressions lambda
[Python] De l'analyse morphologique des données CSV à la sortie CSV et à l'affichage graphique [GiNZA]
[Python] Élimine le branchement conditionnel par if en utilisant pleinement Enum et eval
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
Quoi utiliser pour les piles et les files d'attente Python (comparaison de vitesse de chaque structure de données)
Traitement pleine largeur et demi-largeur des données CSV en Python
[Chapitre 5] Introduction à Python avec 100 coups de traitement du langage
Note de lecture: Introduction à l'analyse de données avec Python
Introduction au langage Python
Introduction à OpenCV (python) - (2)
[Introduction à Udemy Python3 + Application] 53. Dictionnaire des arguments de mots-clés
[Introduction à Python] Résumé des fonctions et méthodes qui apparaissent fréquemment en Python [Format du problème]
[Chapitre 3] Introduction à Python avec 100 coups de traitement du langage
# 4 [python] Bases des fonctions
[Chapitre 2] Introduction à Python avec 100 coups de traitement du langage
[Introduction à cx_Oracle] (Partie 11) Bases de l'exécution PL / SQL
[Introduction au son] Organisons l'introduction au son de python et de R ♬ -Écoutez le son de l'explosion de Nikkei 255-
Paiza Python Primer 2: Apprenez les opérateurs de branchement conditionnel et de comparaison
[Python] Chapitre 05-01 Syntaxe de contrôle (opérateur de comparaison et branchement conditionnel)
[Bases de la science des données] Collecte de données depuis RSS avec python
[Introduction à Udemy Python3 + Application] 52. Tapple d'arguments positionnels