Metszet képzés
Beküldte pzoli - 2011, május 23 - 6:05du
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']
- A hozzászóláshoz be kell jelentkezni