Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 9e400d6

Browse filesBrowse files
Add files via upload
Ejemplos y programas del capítulo 1.
1 parent 26870fa commit 9e400d6
Copy full SHA for 9e400d6

12 files changed

+574
-0
lines changed

‎Cap1/Ejemplo 1_1.py

Copy file name to clipboard
+50Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
@author: guardati
4+
Ejemplo 1_1
5+
Declaración e inicialización de variables de tipo list.
6+
"""
7+
8+
# =============================================================================
9+
# Usando los [] y dando valores para inicializar las listas.
10+
# =============================================================================
11+
dias_laborables = ["lunes", "martes", "miércoles", "jueves", "viernes"]
12+
print('Lista de días laborables:', dias_laborables)
13+
colores_primarios = ['rojo', 'verde', 'azul']
14+
print('Lista de colores:', colores_primarios)
15+
precios = [205.30, 107.18, 25, 450, 310.89, 170.23, 340]
16+
print('Lista de precios:', precios)
17+
print('El tipo es:', type(precios))
18+
mezcolanza = [12, 'octubre', 1492, 'llegó Colón']
19+
print('Lista con diferentes tipos de datos:', mezcolanza)
20+
vacia1 = []
21+
print('\nLista vacía-1:', vacia1)
22+
23+
# Se genera una lista vacía usando el constructor list() sin parámetros.
24+
vacia2 = list()
25+
print('Lista vacía-2:', vacia2)
26+
27+
# Se genera una lista a partir de un rango.
28+
pares = list(range(0, 30, 2))
29+
print('\nPares menores a 30:', pares)
30+
impares = list(range(29, 0, -2))
31+
print('\nImpares menores a 30:', impares)
32+
33+
# Se genera una lista con los caracteres de una cadena de caracteres.
34+
caracteres = list('2020 es bisiesto')
35+
print('\nLista de caracteres:', caracteres)
36+
37+
# Se genera una lista con subcadenas de una cadena de caracteres.
38+
frase = '''La emigración no solo se hace para huir de la opresión en casa,
39+
sino también para llegar a lo más hondo de nuestra alma.''' # Autor: Orhan Pamuk
40+
palabras = frase.split() # Si no se da parámetro, se toma el ' '.
41+
print('\nLista de palabras:', palabras)
42+
43+
# Se genera una lista con los elementos de una tupla.
44+
con_tuplas = list((6, 3, 8, 12, 15))
45+
print('\nLista con los elementos de la tupla:', con_tuplas)
46+
47+
# Se genera una lista con los elementos de otra lista.
48+
otra_lista = list(precios)
49+
print('\nTengo lo mismo, pero soy otra lista:', otra_lista)
50+

‎Cap1/Ejemplo 1_2.py

Copy file name to clipboard
+32Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
@author: guardati
4+
Ejemplo 1_2
5+
Operaciones con listas.
6+
"""
7+
8+
dias_laborables = ["lunes", "martes", "miércoles", "jueves", "viernes"]
9+
colores_primarios = ['rojo', 'verde', 'azul']
10+
precios = [205.30, 107.18, 25, 450, 310.89, 170.23, 340]
11+
12+
# =============================================================================
13+
# Acceso a los elementos de las listas.
14+
# =============================================================================
15+
print('\nPrimer elemento:', dias_laborables[0]) # Imprime 'lunes'.
16+
print('Último elemento:', dias_laborables[-1]) # Imprime 'viernes'.
17+
print('Último desde la derecha:', dias_laborables[-5]) # Imprime 'lunes'.
18+
# print(dias_laborables[-100]) # IndexError: list index out of range
19+
20+
# =============================================================================
21+
# Ejemplos de uso de los operadores + y *.
22+
# =============================================================================
23+
fin_semana = ['sábado', 'domingo']
24+
# Concatena las listas en el orden dado.
25+
semana = fin_semana + dias_laborables
26+
# Repite los elementos. El número debe ser un entero.
27+
colores_repetidos = colores_primarios * 2
28+
# TypeError: can't multiply sequence by non-int of type 'float'
29+
# precios_repetidos = precios * 3.5
30+
print('\nListas concatenadas:', semana)
31+
print('Elementos repetidos:', colores_repetidos)
32+

‎Cap1/Ejemplo 1_3.py

Copy file name to clipboard
+71Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
@author: guardati
4+
Ejemplo 1_3
5+
Funciones predefinidas para trabajar con listas.
6+
Ejemplos de uso.
7+
"""
8+
9+
dias_laborables = ["lunes", "martes", "miércoles", "jueves", "viernes"]
10+
colores_primarios = ['rojo', 'verde', 'azul']
11+
precios = [205.30, 107.18, 25, 450, 310.89, 170.23, 340]
12+
pares = list(range(0, 30, 2))
13+
impares = list(range(29, 0, -2))
14+
colores_repetidos = colores_primarios * 2
15+
16+
# =============================================================================
17+
# Algunas funciones para el manejo de listas.
18+
# =============================================================================
19+
dias_laborables.append('sábado') # Agrega sábado al final de la lista.
20+
print('\nSemana laborable con un día extra =', dias_laborables)
21+
# Cuenta el número de veces que aparece lunes en la lista.
22+
print(f"\nEl lunes aparece = {dias_laborables.count('lunes')} vez (veces).")
23+
# Regresa el total de elementos que tiene la lista.
24+
print('Total de precios =', len(precios))
25+
# Agrega en la primera posición el valor blanco.
26+
colores_primarios.insert(0, 'blanco')
27+
print('\nLista con un nuevo elemento:', colores_primarios)
28+
# No existe la posición 10. Lo inserta al final.
29+
colores_primarios.insert(10, 'amarillo')
30+
print('Lista con un nuevo elemento:', colores_primarios)
31+
# Agrega al final de la lista todos los elementos de la lista impares.
32+
pares.extend(impares)
33+
print('\nLista de pares extendida con la lista impares:', pares)
34+
# Quita el valor sábado de la lista.
35+
dias_laborables.remove('sábado')
36+
print('\nVolviendo a la normalidad =', dias_laborables)
37+
# Regresa la posición de rojo dentro de la lista.
38+
print('\nPosición del rojo:', colores_primarios.index('rojo'))
39+
print('Posición del segundo azul:', colores_repetidos.index('azul', 3))
40+
# Da el error: ValueError: 'gris' is not in list
41+
# print('Posición del gris:', colores_repetidos.index('gris'))
42+
# Ordena los elementos de la lista de menor a mayor.
43+
precios.sort()
44+
print('\nPrecios ordenados de menor a mayor:', precios)
45+
# Ordena los elementos de la lista de mayor a menor.
46+
colores_repetidos.sort(reverse = True)
47+
print('Colores ordenados de mayor a menor:', colores_repetidos)
48+
# Genera una nueva lista ordenada, sin alterar la lista original.
49+
lista_ordenada = sorted(dias_laborables)
50+
lis_ord_long = sorted(dias_laborables, key = len)
51+
print('\nDías laborables sin alterar:', dias_laborables)
52+
print('Días laborables ordenados:', lista_ordenada)
53+
print('Días laborables ordenados por longitud:', lis_ord_long)
54+
# Invierte el orden de los elementos de la lista.
55+
impares.reverse()
56+
print('\nImpares en orden inverso:', impares)
57+
# Quita y regresa el elemento de la posición 0.
58+
quitado = colores_primarios.pop(0)
59+
print('\nEl elemento quitado es:', quitado)
60+
print('La lista quedó:', colores_primarios)
61+
rescatado = dias_laborables.pop() # Sin posición: quita el último.
62+
print('Se rescató para el fin de semana:', rescatado)
63+
print('Los días laborables quedaron:', dias_laborables)
64+
# print(precios.pop(10)) # IndexError: pop index out of range
65+
# Quita todos los elementos de la lista, dejándola vacía.
66+
precios.clear()
67+
print('\nLa lista de precios quedó vacía:', precios)
68+
# print(precios.pop()) IndexError: pop from empty list
69+
# Quita el segundo elemento de la lista.
70+
del colores_primarios[1]
71+
print('\nColores primarios luego de quitar el segundo elemento:', colores_primarios)

‎Cap1/Ejemplo 1_4.py

Copy file name to clipboard
+52Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
@author: guardati
4+
Ejemplo 1_4
5+
Ejemplos de partición de listas.
6+
"""
7+
8+
# Se crea una lista de números enteros.
9+
lista1 = [1, 2, 3, 4, 5, 6]
10+
print('\nLista:', lista1)
11+
# Sublista formada con los elementos de las posiciones 0 a la 2 inclusive.
12+
l1 = lista1[0:3]
13+
print('Del primero al tercero:', l1)
14+
# Sublista formada con los elementos de las posiciones 0 a la 3 inclusive.
15+
l2 = lista1[:4]
16+
print('Del primero al cuarto:', l2)
17+
# Sublista formada con los elementos de las posiciones 3 a la 5 inclusive.
18+
l3 = lista1[3:]
19+
print('Del cuarto al último:', l3)
20+
# Sublista formada con los elementos desde el inicio hasta el final,
21+
# con un salto de 2.
22+
l4= lista1[::2]
23+
print('De izquierda a derecha, tomando 1 cada 2:', l4)
24+
# Sublista formada con los elementos desde el final hasta el inicio,
25+
# con un salto de 3.
26+
l5 = lista1[-1::-3]
27+
print('De derecha a izquierda, tomando 1 cada 3:', l5)
28+
# Quita los elementos de la posición 0 a la última inclusive.
29+
del lista1[:]
30+
print('Luego de quitar todos los elementos', lista1)
31+
32+
# Se crea una lista de cadenas de caracteres.
33+
lista2 = list('abcdefghij')
34+
print('\nLista:', lista2)
35+
# Reemplaza los elementos de las posiciones 0 y 1 por los valores dados.
36+
lista2[0:2] = ['rojo', 'verde']
37+
print('Se reemplazaron los 2 primeros valores:', lista2)
38+
# Quita los elementos de las posiciones 4 a la 8 inclusive.
39+
lista2[4:9] = []
40+
print('Se quitaron del 5to al 9no dato:', lista2)
41+
# Agrega los valores de la lista en la posición 0, reemplazando el valor
42+
# de esa posición y desplazando hacia la derecha todos los demás.
43+
lista2[0:1] = ['azul', 'gris', 'blanco']
44+
print('Luego de agregar 3 colores:', lista2)
45+
# Agrega todos sus elementos al inicio.
46+
lista2[:0] = lista2
47+
print('Luego de agregar sus propios elementos:', lista2)
48+
# Vacía la lista.
49+
lista2[:] = []
50+
print('Luego de vaciar la lista:', lista2)
51+
52+

‎Cap1/Ejemplo 1_5.py

Copy file name to clipboard
+87Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
@author: guardati
4+
Ejemplo 1_5
5+
Copia de listas: ejemplo de uso de funciones del módulo copy.
6+
"""
7+
import copy
8+
9+
# =============================================================================
10+
# Ejemplos de copias superficiales y profundas de listas con datos inmutables.
11+
# =============================================================================
12+
dias_laborables = ["lunes", "martes", "miércoles", "jueves", "viernes"]
13+
precios = [205.30, 107.18, 25, 450, 310.89]
14+
15+
dias = copy.copy(dias_laborables) # Copiado superficial.
16+
print('\nListas luego de la copia superficial'.upper())
17+
print('Lista original:', dias_laborables)
18+
print('Copia:', dias)
19+
20+
# Se modifica la lista original y la copia.
21+
dias_laborables.pop(0)
22+
dias.remove('viernes')
23+
tit1 = '''\nListas luego de hacer modificaciones en ambas:
24+
cada una conserva sus cambios.'''.upper()
25+
print(tit1)
26+
print('Lista original:', dias_laborables)
27+
print('Copia:', dias)
28+
29+
copia_precios = copy.deepcopy(precios) # Copiado profundo.
30+
print('\nListas luego de la copia profunda'.upper())
31+
print('Lista original:', precios)
32+
print('Copia:', copia_precios)
33+
34+
# Se modifica la lista original y la copia.
35+
precios.append(720.14)
36+
copia_precios.pop(2)
37+
print(tit1)
38+
print('Lista original:', precios)
39+
print('Copia:', copia_precios)
40+
41+
# =============================================================================
42+
# Ejemplos de copias superficiales y profundas de listas con datos
43+
# mutables (listas).
44+
# =============================================================================
45+
lista1 = [[2, 3], [9, 8]] # Lista formada por elementos mutables.
46+
copial1= copy.copy(lista1) # Copiado superficial.
47+
print('\nListas luego de la copia superficial'.upper())
48+
print('Lista original:', lista1)
49+
print('Copia:', copial1)
50+
51+
# Se modifica el primer elemento de la lista que es, a su vez,
52+
# el primer elemento de lista1. El valor 2 se reemplaza por el valor 25.
53+
lista1[0][0] = 25
54+
tit2 = '''\nListas luego de la modificación de la lista original:
55+
ambas listas reflejan el cambio'''.upper()
56+
print(tit2)
57+
print('Lista original:', lista1)
58+
print('Copia:', copial1)
59+
60+
lista2 = [['verde', 'rojo'], ['blanco', 'azul']]
61+
copial2= copy.deepcopy(lista2) # Copiado profundo.
62+
print('\nListas luego de la copia profunda'.upper())
63+
print('Lista original:', lista2)
64+
print('Copia:', copial2)
65+
66+
# Se modifica el primer elemento de la lista que es, a su vez, el primer
67+
# elemento de lista2: el valor verde se reemplaza por el valor amarillo.
68+
lista2[0][0] = 'amarillo'
69+
tit3 = '''\nListas luego de la modificación de la lista original:
70+
solo la original se afectó'''.upper()
71+
print(tit3)
72+
print('Lista original:', lista2)
73+
print('Copia:', copial2)
74+
75+
# =============================================================================
76+
# Copiado de listas por medio de partir o dividir listas (slice).
77+
# Igual efecto que el copiado superficial.
78+
# =============================================================================
79+
lis1 = lista1[:]
80+
print('\nListas luego del slice'.upper())
81+
print('Lista original:', lista1)
82+
print('Copia:', lis1)
83+
84+
lista1[0][0] = 92
85+
print(tit2)
86+
print('Lista original:', lista1)
87+
print('Copia:', lis1)

‎Cap1/Ejemplo 1_6.py

Copy file name to clipboard
+75Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
@author: guardati
4+
Ejemplo 1_6
5+
Ejemplos del uso de operadores relacionales, de membresía y
6+
de identidad con listas.
7+
"""
8+
import copy
9+
10+
precios = [205.30, 107.18, 25, 450, 310.89, 170.23, 340]
11+
vacia = []
12+
colores_primarios = ['rojo', 'verde', 'azul']
13+
colores = ['verde', 'azul', 'amarillo', 'blanco']
14+
15+
if precios:
16+
print('Lista precios: no vacía') # Imprime.
17+
else:
18+
print('Lista precios: vacía')
19+
20+
if not vacia:
21+
print('Lista vacía: vacía') # Imprime.
22+
else:
23+
print('Lista vacía: no vacía')
24+
25+
# Operadores relacionales.
26+
otra_lista = precios # Asigna la lista a otra variable.
27+
if precios == otra_lista:
28+
print('Las listas son iguales') # Imprime.
29+
else:
30+
print('Las listas no son iguales')
31+
32+
if precios == colores_primarios:
33+
print('precios y colores: son iguales')
34+
else:
35+
print('precios y colores: no son iguales') # Imprime.
36+
37+
if colores_primarios != colores:
38+
print('Listas colores y colores_primarios: distintas') # Imprime.
39+
40+
if colores_primarios < colores:
41+
print('Lista colores_primarios es menor que lista colores') # Imprime.
42+
43+
if colores_primarios > colores:
44+
print('Lista colores_primarios es mayor que lista colores') # No imprime.
45+
46+
'''
47+
Se lanza la excepción:
48+
TypeError: '<' not supported between instances of 'float' and 'str'
49+
if precios < colores_primarios:
50+
print('precios y colores: son iguales')
51+
else:
52+
print('precios y colores: no son iguales')
53+
'''
54+
55+
# Operadores de identidad.
56+
if precios is otra_lista:
57+
print('precios y otra_lista: son la misma lista') # Imprime.
58+
else:
59+
print('No son la misma lista')
60+
61+
copia = copy.copy(precios) # Hace una copia de la lista. Es otro objeto.
62+
if precios is copia:
63+
print('Son la misma lista')
64+
else:
65+
print('precios y copia: no son la misma lista') # Imprime.
66+
67+
if colores is not colores_primarios:
68+
print('colores y colores_primarios: no son la misma lista') # Imprime.
69+
70+
# Operadores de membresía.
71+
if 'rojo' in colores_primarios:
72+
print('El rojo es un color primario') # Imprime.
73+
74+
if 'dorado' not in colores_primarios:
75+
print('El dorado no es un color primario') # Imprime.

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.