Metszet képzés

Ez a minta két tömb vagy halmaz metszetét eredményezi. Legyen a két tömb az alábbi két sor az adat.csv fájlban:

43,88,68,43,12,42,57,99,47,66,33
1,5,65,13,46,36,23,76,87,99,27,49,32,95,48,33,66,45,88,11

A Python a tömbökre speciális ciklus kezelési lehetőséget biztosít. Ezt figyelembe véve a következő kóddal egyszerű és szemléletes a metszetkészítés algoritmusa:

#!/user/bin/python
import sys
#felolvassuk a két sort az adat.csv fájlból
fp = open("adat.csv")
s1 = fp.readline()
s2 = fp.readline()
fp.close();
#A két karakterlácból a vesszők mentén két tömböt készítünk 
Atomb = s1.split(",")
Btomb = s2.split(",")
C=[]
#összehasonlítjuk az elemeiket
for x in Atomb:
    for y in Btomb:
        if x==y:
            C.append(x)
print C

Az x az Atomb, az y a Btomb összes elemére rendre felveszi az értékét. Ez az egyszerűsített tömbkezelés gyakori a script nyelveknél. A program futási eredménye:

$ python segment.py
['99', '33', '66', '88']