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


Ejemplo de Listas en Python: Retornar la interseccion de dos listas.

# Retornar la interseccion: a y b.

import random

def intersectarLista(lista_a, lista_b):

    lista_a.sort(cmp=None, key=None, reverse=False)
    lista_b.sort(cmp=None, key=None, reverse=False)
    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 imprimirLista(lista,nombre):
    for i in range(0,len(lista)):
        print nombre+"[" + str(i) + "]=" + str(lista[i])

def leerLista():
    lista=[]

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

A=leerLista()
B=leerLista()
C=intersectarLista(A, B)
imprimirLista(A,"A")
imprimirLista(B,"B")
imprimirLista(C,"C")
Anuncio publicitario

4 comentarios sobre “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:
        https://saforas.wordpress.com/2008/07/27/listas-simples-y-dobles-en-java/
        https://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:
        https://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 tu comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s