Vytisknout stránku | Zavřít okno

test na prítomnosť v zozname

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=6890
Datum vytištění: 12.čer.2026 v 12:58


Téma: test na prítomnosť v zozname
Odeslal: Augur
Předmět: test na prítomnosť v zozname
Datum odeslání: 30.čvc.2008 v 12:33
1. Ako zistím, či sa daný prvok (číslo) nachádza v zozname..?
Vytvoril som si zoznam (3 7 2 1 4 5) a potrebujem zistiť, či sa "2" nachádza v zozname.. Jediné, čo ma napadá je testovať celý zoznam cyklicky

2. Čisto teoreticky, maximálne koľko premenných (alebo záznamov v zozname)je možné zapísať ? V literatúre sa uvádza že je to závislé od pamäte počítača alebo softvéru.

Ďakujem za odpovede.

-------------
Designer/Projektant/Ucitel
Autocad 2007



Odpovědi:
Odeslal: Vladimír Michl
Datum odeslání: 30.čvc.2008 v 14:17
ad 1) to by bylo pomalé - použijte funkci (member)
 
ad 2) není tam nějaký snadno dosažitelný limit - v běžné aplikaci na to určitě nenarazíte


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)


Odeslal: chlebovsky
Datum odeslání: 30.čvc.2008 v 14:20

Zjištění zda je nějaký prvek v seznamu je naprosto jednoduché, jen záleží na tom jak je seznam tvořen.

a) (setq sez (list 1 2 3 4 5 6 7 8 9 10))

  test zda je tam číslo 3  (member 3 sez)

  vrátí (3 4 5 6 7 8 9 10) a první člen je právě hledané číslo

  test zda je tam 12 (member 12 sez)

  vrátí nil - to znamená že není

b) (setq sez (list (cons 1 "A")(cons 2 "B")(cons 3 "C")))

tady (member 1 sez) vrátí taky nil
proto je třeba toto :
(assoc 1 sez) a vrací jen daný člen seznamu
 
a na druhou otázku, jste si opověděl v podstatě sám
opravdu délka seznamu není nijka omezená
a pokud překročí danou mez paměti to poznáte, protože tvrdý restart je jediná věc co tomu pomůže
:-)
používám seznamy s cca 100 000 body (x y z) a funguje.
Čím delší tím pomalejší ale funguje


-------------
Ing. Martin Chlebovský

www.kde-je-auto.cz

GPS monitoring provozu vozidel a osob.

WebDeveloper.

Programátor aplikací pro Autocad a MS Office.

Tvorba WWW aplikací.

Modelování domů a staveb.&l


Odeslal: Augur
Datum odeslání: 31.čvc.2008 v 09:58
Ďakujem za obe odpovede.

-------------
Designer/Projektant/Ucitel
Autocad 2007



Vytisknout stránku | Zavřít okno