Pri la aliaj signifoj de OPO rigardu en OPO.
En matematiko, opo estas finia vico de objektoj, aŭ listo de limigita nombro de objektoj. Opoj estas uzataj por priskribi matematikajn objektojn kiuj konsistas el certaj komponantoj. Ekzemple, orientita grafeo estas difinita kiel opo (V, E) kie V estas la aro de verticoj kaj E estas subaro de V × V kiu signifas la randojn.
La termino aperis kiel abstraktado de la vico: unuopo, duopo, triopo, kvaropo, kvinopo, ... Opon de longo n oni kutime priskribas kiel n-opo, kie n povas esti iu ajn pozitiva entjero.
La ĉefaj propraĵoj kiuj diferencigas opon de, ekzemple, aro estas tiuj ke: (1) ĝi povas enhavi la saman objekton pli unu foje kaj (2) la objektoj aperas en certa ordo. Notu, ke (1) diferencigas opon de orda aro kaj ke (2) diferencigas opon de multaro. Ĉi tio estas ofte formaligita per jena regulo por identeco de du n-opoj:
Alia maniero de formaligo de opoj estas per pli primitivaj konstruoj en aroteorio kiel ordigitaj duopoj. Ekzemple, n-opo (kun n > 2) povas esti difinita kiel ordigita duopo de ĝia unua elemento kaj (n−1)-opo enhavanta la ceterajn elementojn:
Uzante la kutiman aro-teorian difinon de ordigita duopo kaj lasante la malplenan aron prezenti la malplena opo, eblas jena indukta difino:
Uzante ĉi tiun difinon, (1,2,2) devus esti
Estas grava simileco de ĉi tie kun la maniero kiun LISP originale uzis la ordigitan duopan abstraktadon por indukte krei ĉiujn n-opojn kaj listajn strukturoj:
En komputiko, opo povas havi du klarajn signifojn. Tipe en funkciaj kaj iuj aliaj programlingvoj, opo estas datuma objekto kiu tenas kelkajn objektojn, simila al matematika opo. Tia objekto estas ankaŭ sciata kiel rikordo.
En iuj lingvoj kaj aparte en datumbaza teorio, opo estas kutime difinita kiel finia funkcio kiu surĵetas nomojn de ĉelojn al certaj valoroj. Ĝia celo estas la sama kiel en matematiko, sed ĉi tie ĉi tiuj komponantoj estas identigitaj per unika kampa nomo sed ne per pozicio, kio ofte donas pli afablan skribmanieron.
Ekzemplo de tiaspeca opo:
la sama opo povas ankaŭ esti skribita kiel: