Hirdetés
- Így spórolhat az Apple az iPhone 18 kijelzőin
- iPhone topik
- Távozik az Apple vezérigazgatója
- MWC 2026: Bajnoki címre pályázik a Xiaomi Watch 5
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Xiaomi 15T Pro - a téma nincs lezárva
- Huawei Watch D2 - nyomás utána!
- Külföldi prepaid SIM-ek itthon
- Kisebb lett a Honor MagicPad3 Pro
Új hozzászólás Aktív témák
-
cousin333
addikt
Nagy fájlok esetében nem is nagyon erőltetném a
print-et, főleg, ha sok az egyezés. Érdemesebb inkább kiírni egy eredmény fájlba.A másik: a
set()konstruktor egy iterálható objektumot vár, és a nyitott fájl objektum ilyen, szóval a kis fájll beolvasást tovább lehet egyszerűsíteni.# a kis fájl beolvasása
with open("kis-a.txt") as kf:
words = set(kf)
with open("nagy-b.txt") as nf, open("eredmeny.txt") as ef:
count = 0
for line in nf:
if line in words:
ef.write(line)
count += 1
print count, "egyezést találtam!" -
axioma
veterán
Szerintem ha nem kell a darabszam, akkor egy adatfile egy trie (azaz szo-fa), ertelemszeruen jobb a kicsibol, a nagyo(ka)t meg futtatod rajta egyesevel, ha talalat, akkor kiirod.
Amugy agyuval verebre, ha a sorrend mindegy. Lerendezed oket az oprendszer segitsegevel, es kapasbol eleg egy diff jellegu lekeres (jo, pont forditva, az kell ami nincs a diff-ben). Vagy ha rendezni tudod "kint", kis eroforrassal, esetleg valamelyiket mar eleve ugy tartani, akkor egy osszefuzes-szeru algoval tudsz egyformakat listazni. Persze ezek a sorrendet osszezavarjak, az elso megoldas nem.szerk. EQ, bocs, nem neztem, a lenyeg kb. ugyanaz, a set sztem stringeknel try lesz. Csak messzirol raneztem a kodra es felreertettem hgoy dupla for van egymasban, de hat latszik hogy en vagyok feluletes (meg faradt).
-
EQMontoya
veterán
Én azt csinálnám, hogy a kisebbet benyalnám fixen egy setbe (az ugye elég gyorsan kereshető), majd a nagyobbat olvasnám végig soronként, és ha benne van a beolvasott sor a setben, akkor elmenteném/kírnám, hogy van metszet.
Kódban:
words = set()
with open(kisfile) as kf:
for line in kf:
words.add(line)
with open(nagyfile) as nf:
for line in nf:
if line in words:
print "Yahoo!!!"
Új hozzászólás Aktív témák
- 5.1, 7.1 és gamer fejhallgatók
- Kerékpárosok, bringások ide!
- Bluetooth hangszórók
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- Projektor topic
- Parfüm topik
- Hitelkártyák használata, hitelkártya visszatérítés
- Így spórolhat az Apple az iPhone 18 kijelzőin
- Autós topik
- Parkside szerszám kibeszélő
- További aktív témák...
- Szép állapotú Samsung Galaxy S20 Ultra 5G 12/128GB, 12 hónap garancia!
- Cyborg 15 A13VFK 15.6" FHD IPS i7-13620H RTX 4060 16GB 512GB NVMe magyar vbill gar
- Dell Latitude 5410 - 14" FHD touch, Core i5 10310U, 16GB RAM, SSD, jó akku, számla, 6 hó gar
- Acer Nitro ANV15-51 15.6" FHD IPS i5-13420H RTX 4050 16GB 500GB NVMe magyar vbill gar
- Vivobook S 16 S5606MA 16" 3K OLED Ultra 7 155H 16GB 256GB NVMe magyar vbill IR kam gar
- GAMING PC! i7-13700F / RX 9070 XT / 32GB DDR5 / B760 / 1TB NVMe / 850w Gold! BeszámítOK
- 179 - 180 - 189 - 190 - Lenovo LOQ (15IRX9) - Intel Core i7-13650HX, RTX 4060 (ELKELT)
- Keresünk iPhone 16/16e/16 Plus/16 Pro/16 Pro Max
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Intel Core i9 9900 8 mag 16 szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

