Código Python – Intersección de Listas como Conjunto

Ejemplo de Listas en Python: Retornar la intersección de dos listas.

# Retornar la intersección: a y b.

import random

def intersectar_lista(lista_a, lista_b):

    lista_a.sort()
    lista_b.sort()
    lista_nueva = []
    
    for i in lista_a:
        for j in lista_b:
            if i == j:
                if i not in lista_nueva:
                    lista_nueva.append(i)

    return lista_nueva

def imprimir_lista(lista, nombre):
    for i, num in enumerate(lista):
        print(f"{nombre}[{i}] = {num}")

def leer_lista():
    lista = []

    i = 0
    while i < 5:
        lista.append(int(random.randint(0, 10)))
        i = i + 1
    return lista

A = leer_lista()
B = leer_lista()
C = intersectar_lista(A, B)
imprimir_lista(A, "A")
imprimir_lista(B, "B")
imprimir_lista(C, "C")

Versión resumida:

import random

A = [random.randint(0, 10) for _ in range(5)]
B = [random.randint(0, 10) for _ in range(5)]
C = sorted(set(A) & set(B))
print("A:", A, "\nB:", B, "\nC:", C)

Versión más resumida:

import random

A, B = [random.randint(0, 10) for _ in range(5)], [random.randint(0, 10) for _ in range(5)]
C = list(set(A) & set(B))
print("A:", A, "\nB:", B, "\nC:", C)

Pueder ir al artículo principal:

Códigos Sencillos hechos en Python

5 thoughts on “Código Python – Intersección de Listas como Conjunto

      1. hola osvaldo, discúlpame por la demora, en posts anteriores hice algo sobre listas en java:
        http://saforas.wordpress.com/2008/07/27/listas-simples-y-dobles-en-java/
        http://saforas.wordpress.com/2008/07/28/listas-circulares-simples-y-dobles-en-java/

        y tal vez algunos ejemplos de aquí te pueden servir para que elabores tu código:
        http://saforas.wordpress.com/2008/06/29/codigos-sencillos-hechos-en-java/

        El algoritmo es el siguiente:
        -tienes dos listas, lista_a, y lista_b
        -creamos una lista vacía nueva: lista_nueva
        -recorremos todos los elementos de la lista_a y la lista_b con un for anidado

        for i in lista_a:
        for j in lista_b:
        if i == j: // si hay elementos iguales en la lista_a y lista_b
        if i not in lista_nueva: //y si ese elemento no está en la lista nueva aun
        lista_nueva.append(i) //entonces se agrega a la lista

        En java utiliza el mismo algoritmo, ya tienes el código de como hacer listas simples y dobles en java :), un saludo.

Deja un comentario