Können Sie mir eine kurze Beschreibung von Tuple
geben? Und wann es über List
und Vector
zu verwenden?Was ist Tuple? Und Tupel vs. Liste vs. Vektor?
Antwort
Wenn Sie mehr Operationen zum Einfügen/Löschen in einer Datenstruktur ausführen, sollten Sie eine Liste verwenden. Wann immer in einer Datenstruktur der Zugriff auf Variablen sehr häufig ist, verwenden Sie einen Vektor.
Tupel sind Objekte, die Elemente verschiedener Typen in einem einzigen Objekt zusammenfassen, genau wie Paarobjekte für Elementpaare, aber verallgemeinert für eine beliebige Anzahl von Elementen. Konzeptionell ähneln sie einfachen Datenstrukturen (C-like structs), aber anstatt Datenelemente zu nennen, wird auf ihre Elemente durch ihre Reihenfolge im Tupel zugegriffen.
Tupel wird normalerweise in Clojure durch eine assoziative Datenstruktur wie Karte {:name "david" :age 35}
oder Datensatz dargestellt.
Ein Vektor ["david" 35]
bietet schnellen Positionszugriff (= 35 (nth ["david" 35] 1))
, und Sie können verschiedene Arten speichern.
Eine Liste ("david" 35)
oder ("david" "justin" "david")
bietet schnellen Zugriff von der Kopf- und Vorlauf-Traversierung. Obwohl es verschiedene Typen enthalten kann, ist es am üblichsten, dass es einen einzelnen Typ enthält, der möglicherweise Duplikate enthält, in einer bestimmten Reihenfolge. Im Gegensatz zu einer Menge #{"david" "justin"}
, die keine Duplikate enthalten würde und für die Überprüfung der Mitgliedschaft/Anwesenheit optimiert ist.
Sortierte Listen, Sets und Karten verwalten die Reihenfolge der Objekte mit einem Komparator.
Check out 4clojure und clojuredocs.org. Viel Glück!
- 1. Liste + = Tuple vs List = Liste + Tuple
- 2. Clojure Liste vs. Vektor vs. Set
- 3. Tuple vs Struct in Swift
- 4. Tuple.Create() vs neue Tuple
- 5. Tupel vs Aufzeichnungen
- 6. Tuple Typ vs. Array-of-Union-Typ
- 7. Haskell: Algebraische Daten vs Tuple
- 8. Initialisierungsliste vs. Vektor
- 9. Vektor vs Sammlungen.synchronizedList (ArrayList)
- 10. Was ist der Unterschied zwischen() vs [] vs {}?
- 11. Vektor vs Array Leistung
- 12. Scala - TrieMap vs Vektor
- 13. Vektor klar vs Größe
- 14. Vektor vs. Datenrahmen in R
- 15. Tupel vs Listen für Modulebenenkonstanten in Python?
- 16. Liste vs Warteschlange vs Sammlung in Java
- 17. Was ist Abstraktheit vs. Instabilitätsgraph?
- 18. Was ist SharedPreferencesCompat? vs SharedPreferences
- 19. Suchen Sie einen Vektor von boost :: tuple
- 20. Tupel-Entpacken: Dummy-Variable vs Index
- 21. push_back vs emplace vs Einfügen in Vektor in C++
- 22. Bit Vektor vs Liste der booleschen Werte Leistung
- 23. Was ist der Unterschied zwischen Sjlj vs Zwerg vs seh?
- 24. .NET: Arraylist vs Liste
- 25. python isinstance vs hasattr vs versuchen/außer: Was ist besser?
- 26. Was ist der Unterschied: ConcurrentUpdateSolrServer vs HttpSolrServer vs CommonsHttpSolrServer?
- 27. & vs * und | vs +
- 28. Iteration vs Liste Verkettung
- 29. C++: Vektor in Tupel konvertieren
- 30. Tupel-Elemente an ein Tuple-Tupel in Python anhängen