@Benubi:
Das ist nicht mein Problem!
Die Keys sind einmalig. Die Werte können aber mehrmals vorhanden sein, was ich detektieren muss.
Als Rückgabe brauche ich die Keys, bei denen doppelte Werte erkannt wurden.
Durchlauf von Map mit ForEach
Re: Durchlauf von Map mit ForEach
Never change a running system - Never run a changed system!
(PB 6.03 LTS [x86])
(PB 6.03 LTS [x86])
Re: Durchlauf von Map mit ForEach
Da ist eine Datenbank schon der richtige weg.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
-
- Beiträge: 64
- Registriert: 22.11.2020 20:05
- Computerausstattung: 'ne Handvoll gebrauchte Laptops & PCs mit Mint Mate
Re: Durchlauf von Map mit ForEach
jetzt mal abgesehen von der Datenbanklösung oder der prophylaktischen Prüfung von Doppelwerten.
Möglicherweise interpretiere ich ja falsch - aber ist das Beispiel in der Hilfe nicht genau das, was du suchst?
Dort wird doch nach vorhandenen Doppelwerten gesucht und gelöscht, oder?
https://www.purebasic.com/german/docume ... ition.html
Möglicherweise interpretiere ich ja falsch - aber ist das Beispiel in der Hilfe nicht genau das, was du suchst?
Dort wird doch nach vorhandenen Doppelwerten gesucht und gelöscht, oder?
https://www.purebasic.com/german/docume ... ition.html
--
Ideen gibt es viele - man muss sie nur haben...
Mint 18.3/19.3/21.x/LMDE5 // PureBasic 5.73 / 6.02
Ideen gibt es viele - man muss sie nur haben...
Mint 18.3/19.3/21.x/LMDE5 // PureBasic 5.73 / 6.02
- TroaX
- Beiträge: 661
- Registriert: 08.03.2013 14:27
- Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
- Wohnort: NRW
- Kontaktdaten:
Re: Durchlauf von Map mit ForEach
So eine Lösung hatte er ja schon. Es geht da um die Dauer dieses Vorgehens, da er ja theoretisch jeden Wert mir jedem Wert vergleichen muss und das bei 70K Einträgen.jogo hat geschrieben: ↑20.01.2023 18:22 jetzt mal abgesehen von der Datenbanklösung oder der prophylaktischen Prüfung von Doppelwerten.
Möglicherweise interpretiere ich ja falsch - aber ist das Beispiel in der Hilfe nicht genau das, was du suchst?
Dort wird doch nach vorhandenen Doppelwerten gesucht und gelöscht, oder?
https://www.purebasic.com/german/docume ... ition.html
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Re: Durchlauf von Map mit ForEach
Ein anderer Weg mit Reverse Lookup:techniker hat geschrieben: ↑20.01.2023 13:42Wie erkennst du sonst, welche Keys von Dubletten betroffen sind?
(Dubletten sollen nicht verboten sein, aber müssen detektiert werden)
Die Map hat momentan bis zu 70'000 Elemente.
obst("key1") = "Apfel"
obst("Key2") = "Birne"
obst("key3") = "Banane"
obst("key4") = "Birne"
obst("key5") = "Weintraube"
obst("key6") = "Banane"
obst("key7") = "Banane"
Bei diesem Beispiel brauche ich folgende Keys als Ergebnis:
key2, key3, key4, key6, key7
Code: Alles auswählen
Structure kv_match
List keys.s()
EndStructure
NewMap obst.s()
obst("key1") = "Apfel"
obst("Key2") = "Birne"
obst("key3") = "Banane"
obst("key4") = "Birne"
obst("key5") = "Weintraube"
obst("key6") = "Banane"
obst("key7") = "Banane"
ForEach obst()
Debug "obst(" + MapKey(obst()) + ") = " + obst()
Next
Debug "---"
NewMap wert.kv_match()
ForEach obst()
If FindMapElement(wert(),obst()) = 0
AddMapElement(wert(), obst())
EndIf
AddElement(wert()\keys()): wert()\keys() = MapKey(obst())
Next
Debug "---"
ForEach wert()
;SortList(wert()\keys(), #PB_Sort_Ascending)
If ListSize(wert()\keys()) > 1
Debug "Wert(" + MapKey(wert()) + ") = " + ListSize(wert()\keys())
ForEach wert()\keys()
Debug wert()\keys()
Next
EndIf
Next