-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path01_bucles_en_diccionarios.py
145 lines (115 loc) · 3.16 KB
/
01_bucles_en_diccionarios.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# USAR BUCLES EN UN DICCIONARIO
"""
los diccionarios pueden contener tantos pares clave-valor como sean necesarios,
por ello, una forma rápida y útil de acceder a todos los componentes es usar
bucles sobre el diccionario
"""
# RECORRER LAS CLAVES Y LOS VALORES -> .items()
user = {
"username": "nlarrea",
"fist_name": "Naia",
"last_name": "Larrea"
}
for key, value in user.items():
print(f"Key: {key}\t\tValue: {value}")
""" imprime lo siguiente:
Key: username Value: nlarrea
Key: fist_name Value: Naia
Key: last_name Value: Larrea
"""
# otro ejemplo
favorite_languages = {
"jen": "python",
"sarah": "c",
"edward": "ruby",
"phil": "python"
}
for name, language in favorite_languages.items():
print(f"{name.title()}'s favorite language is {language.title()}")
""" imprime lo siguiente:
Jen's favorite language is Python
Sarah's favorite language is C
Edward's favorite language is Ruby
Phil's favorite language is Python
"""
# RECORRER LAS CLAVES -> .keys()
"""
la forma predeterminada si no se utiliza ninguna función que especifique lo
contrario en python es recorrer las claves en los bucles, por tanto se puede
utilizar esta sintaxis:
for key in dictionary.keys():
some_code
o la siguiente sintaxis (más recomendada):
for key in dictionary:
some_code
"""
favorite_languages = {
"jen": "python",
"sarah": "c",
"edward": "ruby",
"phil": "python"
}
friends = ["phil", "sarah"]
for name in favorite_languages:
print(name.title())
if name in friends:
print(f"\t{name.title()}, I see you love {language.title()}!")
""" se imprime lo siguiente:
Jen
Sarah
Sarah, I see you love Python!
Edward
Phil
Phil, I see you love Python!
"""
# RECORRER LOS PARES EN ORDEN
"""
esto es útil si se quieren mostrar datos a los usuarios de tal forma que se
localicen de forma sencilla y rápida en la lista
"""
exam_results = {
"jen": 6,
"sarah": 9,
"edward": 7,
"phil": 4
}
for name, mark in sorted(exam_results.items()):
print(f"{name.title()}, your score is an {mark}.")
"""
Edward, your score is an 7.
Jen, your score is an 6.
Phil, your score is an 4.
Sarah, your score is an 9.
"""
# RECORRER LOS VALORES -> .values()
favorite_languages = {
"jen": "python",
"sarah": "c",
"edward": "ruby",
"phil": "python"
}
print("The following languages have been mentioned:")
for language in favorite_languages.values():
print(f"\t- {language.title()}")
""" se imprime lo siguiente:
The following languages have been mentioned:
- Python
- C
- Ruby
- Python
"""
""" EVITAR MOSTRAR VALORES REPETIDOS
si se desea que no se muestren valores repetidos, se puede utilizar un set
un set es un conjunto de valores donde no se pueden almacenar dos datos iguales
para crear un set se pueden utilizar {} sin pares clave-valor (puesto que eso
sería un diccionario), o bien la función set()
"""
print("The following languages have been mentioned:")
for language in set(favorite_languages.values()):
print(f"\t- {language.title()}")
""" se imprime lo siguiente:
The following languages have been mentioned:
- Python
- Ruby
- C
ya no hay valores repetidos """