Tällä sivulla on sanoja, jotka on jaettu yhdyssanoiksi eri tavalla kuin yleensä.
Kaksi sanaa yhdestä
Sana
Selitys
aktivisti
yhdynnänaikainen korttipeli
aleneva
halpa suo
asemesta
pyssykauppa
biisi
sateenkaarivanhempi
diakoni
heijastettu hevosen kuva
epistola
epäoikeudenmukainen asiaintila
epoletti
doping-positiivinen hiusnäyte
fileerata
lihaliukuhihna
funktionaali
matemaattisesti lahjakas napakettu
haipakka
petokalateemaiset pelikortit
haukattava
koirainklusiivinen
haupitsi
narttukoira
huohotus
turhauttava olio
häävisti
pariutumiskorttipeli
kamalasti
huumekuorma
kapituli
koiraeläimen päivittelyä
kattila
huumefarmi
katveikko
huumekauppias
kemikaali
merilappilainen kasvis
kenguru
Barbien parisuhdeneuvoja
kotkotus
kanojen kielenhuoltojärjestö
kotletti
kanan tukka
kriminaali
miehitetyn niemimaan napakettu
kylläisyys
jees-vanhemmuus
kyynärä
käärmekauna
leipomo
havaijilainen esihenkilö
loiskina
riita siivelläeläjistä
marinoitua
sadatella pilvessä
moninaisuus
polygamia
paikalle
piirakkapoika
parrakas
golffari
peruukki
eteläamerikkalainen isoisä
pienokainen
vaatimattomat piikit omaava
piipata
puolijohdekeittoastia
pisuaari
sata kusineliötä
poppari
kevyen musiikin duo
portsari
viiniin mieltynyt nainen
punkero
rokkarien suhteen päättyminen
puudeli
mauttomien herkkujen kauppa
raikaste
pääsiäisruohossa aamuisin
seisake
kalaviina
siivooja
siisti vesiura
suulaasti
ratkaisu puheliaisuuteen
temperatuuri
maalionni
tiirata
golfkenttä
tiukalle
munapoika
topaasi
huippujuhta
tupeerata
peruukkitehtaan liukuhihna
upslaaki
vahingonlaukaus
valinnainen
yksilahkeinen metallityöläinen
varistori
linturikas kauppapaikka
vauveli
mahtava sisarus
voilokki
rasvaan mieltynyt rantalintu
Kolme sanaa yhdestä
Sana
Selitys
digitalisointi
digi-tali-sointi
eksogeenisyys
ekso-geeni-syys
kapitalisointi
kapi-tali-sointi
kriminalisointi
krimin-ali-sointi
leikillisyys
lei-killi-syys
mukautuvaisuus
muka-utu-vaisuus
mutageenisyys
muta-geeni-syys
muukalaistua
muu-kala-istua
näkymättömissä
näky-mättö-missä
punkteerata
punk-tee-rata
Kaksi sanaa kahdesta
Sana
Selitys
asuntolaiva
asuntola-iva
isänisä
isä-nisä
julkisoikeus
julki-soikeus
kaivosaukko
kaivo-saukko
karjanostaja
karja-nostaja
kasvineste
kasvin-este
kauppalaiva
kauppala-iva
keksijänero
keksijän-ero
koulunero
koulun-ero
kuivatelakka
kuivate-lakka
kulmanoja
kulman-oja
lainasana
lain-asana
lihaneste
lihan-este
luomisoppi
luomi-soppi
maaliero
maa-liero
maanisä
maa-nisä
mahaneste
mahan-este
parsakaali
par-sakaali
pensasaita
pensa-saita
pesuneste
pesun-este
pikariisi
pikari-isi
rantamatalikko
rantama-talikko
soluneste
solun-este
sääripari
sää-ripari
taiteilijanero
taiteilijan-ero
tuoksuvatukka
tuoksuva-tukka
vakavaraisuus
vakava-raisuus
vihannestori
vihan-nestori
voimanosto
voiman-osto
vuokaavio
vuoka-avio
vuohissukka
vuo-hissukka
yksinolo
yksi-nolo
yökaste
yök-aste
Kolme sanaa kahdesta
Sana
Selitys
aikaansaannos
aika-ansa-annos
aikaansaanti
aika-ansa-anti
asuintoveri
asu-into-veri
biokaasu
bi-oka-asu
erikoisosaaminen
eri-koiso-saaminen
fenolimuovi
feno-limu-ovi
hautausavustus
hau-tau-savustus
hermostoperäinen
hermo-stop-eräinen
hienovaraisuus
hie-nova-raisuus
katetuotto
kat-etu-otto
koroillaaneläjä
koroilla-ane-läjä
kuivatuskaappi
kuiva-tuska-appi
kutsumustyö
kutsu-must-yö
kuurupiilo
kuu-rupi-ilo
lainansaanti
lain-ansa-anti
lääkärinammatti
lääkäri-nam-matti
maaliruisku
maa-liru-isku
maalitilanne
maa-liti-lanne
nuorisoseura
nuori-sose-ura
nuorisotakuu
nuori-sota-kuu
opintopiiri
opin-top-iiri
oraalineste
ora-alin-este
palautusoikeus
pala-utu-soikeus
pienituloinen
pien-itu-loinen
puhelinosake
puhe-lino-sake
rapakuntoinen
rap-akun-toinen
saaristolaiva
saari-stola-iva
suolasilakka
suo-lasi-lakka
suolikaasu
suo-lika-asu
suuntaviiva
suun-tavi-iva
suurisanainen
suu-risa-nainen
takaisinosto
taka-isi-nosto
tietopohja
tie-top-ohja
toppapusakka
top-papu-sakka
tunturipeura
tuntu-ripe-ura
tuomiokapituli
tuomi-okapi-tuli
uskomustarina
usko-must-arina
vajaakuntoinen
vaja-akun-toinen
varastosiilo
varas-tosi-ilo
vasarajuotin
vasa-raju-otin
vastapelaaja
vast-ape-laaja
viistoperä
viis-top-erä
voimakassanainen
voima-kassa-nainen
vuohipukki
vuo-hip-ukki
vuokaruoka
vuo-karu-oka
vuosivuokra
vuo-sivu-okra
yksisoluinen
yks-iso-luinen
Neljä sanaa kahdesta
Sana
Selitys
kuurupiilosilla
kuu-rupi-ilo-silla
nuorisopoliisi
nuor-iso-poli-isi
paikallispoliisi
pai-kallis-poli-isi
rapautumissora
rapa-utu-miss-ora
Ohjelma
Python-ohjelma, jolla sanat on etsitty. Vaatii sanalistat täältä.
MIN_WORD_LEN = 2
# no nouns or verbs; no acronyms either
EXCLUDE_WORDS = frozenset((
"aa", "ah", "ai", "ani", "asti", "au", "av",
"di",
"eli",
"ha", "haa", "hah", "he", "hei", "hi", "hoi", "hui", "hus", "hä", "hän",
"in",
"ja", "jee", "jo", "jos", "juu",
"kai", "kait", "kap", "kas", "kii", "kis", "kop",
"lainen",
"ma", "mainen", "maisesti", "maisuus", "mar", "me", "mi", "moinen", "mut", "mä",
"ne", "no", "noi", "noin", "nuo",
"oh", "oi", "op", "ota",
"pas", "per", "pois", "puh", "pus", "pöh",
"ry",
"sa", "se", "sen", "so", "soo", "sun", "sus", "sä",
"taa", "tai", "te", "toi", "tse", "tuut", "tä", "tämä", "tää",
"ula", "ups",
"vai", "vau", "vek", "via", "vip", "viuh",
"yh", "yht",
))
def get_words(filename):
with open(filename, "rt", encoding="utf8") as handle:
handle.seek(0)
for line in handle:
line = line.rstrip()
if line:
yield line
def split_in_two(word):
# generate tuples of two strings
for i in range(MIN_WORD_LEN, len(word) - MIN_WORD_LEN + 1):
yield (word[:i], word[i:])
def split_in_three(word):
# generate tuples of three strings
for i in range(MIN_WORD_LEN, len(word) - MIN_WORD_LEN * 2 + 1):
for j in range(i + MIN_WORD_LEN, len(word) - MIN_WORD_LEN + 1):
yield (word[:i], word[i:j], word[j:])
def split_in_four(word):
# generate tuples of four strings
for i in range(MIN_WORD_LEN, len(word) - MIN_WORD_LEN * 3 + 1):
for j in range(i + MIN_WORD_LEN, len(word) - MIN_WORD_LEN * 2 + 1):
for k in range(j + MIN_WORD_LEN, len(word) - MIN_WORD_LEN + 1):
yield (word[:i], word[i:j], word[j:k], word[k:])
def split_word(word, partCnt):
if partCnt == 2:
yield from split_in_two(word)
elif partCnt == 3:
yield from split_in_three(word)
elif partCnt == 4:
yield from split_in_four(word)
else:
sys.exit("Can only split in 2-4 parts.")
def main():
allWords = set(get_words("plaintext.txt")) - EXCLUDE_WORDS
singles = set(get_words("singles.txt")) & allWords
finals = set(get_words("finals.txt")) - EXCLUDE_WORDS
nonfinals = set(get_words("nonfinals.txt")) - EXCLUDE_WORDS
compounds = set(get_words("compounds.txt"))
wordOrder = sorted(singles)
for partCnt in range(2, 4 + 1):
print(f"*** Non-compounds into {partCnt} parts ***")
for word in wordOrder:
for parts in split_word(word, partCnt):
if (
all(p in singles or p in nonfinals for p in parts[:-1])
and (parts[-1] in singles or parts[-1] in finals)
):
print(f"{word:17}" + " = " + "-".join(parts))
print()
for srcPartCnt in range(2, 9 + 1):
wordOrder = sorted(w for w in compounds if w.count("_") == srcPartCnt - 1)
for dstPartCnt in range(2, 4 + 1):
print(f"*** {srcPartCnt}-part compounds into {dstPartCnt} parts ***")
for word in wordOrder:
origWord = word.replace("_", "")
for parts in split_word(origWord, dstPartCnt):
if (
all(p in singles or p in nonfinals for p in parts[:-1])
and (parts[-1] in singles or parts[-1] in finals)
and set(parts).isdisjoint(set(word.split("_")))
):
print(f"{origWord:25}" + " = " + "-".join(parts))
print()
main()