Sobes.tech
Middle — Senior

Πώς συνδυάζετε λίστες χωρίς να χρησιμοποιείτε joins;

sobes.tech AI

Απάντηση από AI

Για να ενώσετε δύο λίστες χωρίς να χρησιμοποιήσετε joins, μπορείτε απλά να τις συγχωνεύσετε ή να προσθέσετε τα στοιχεία μιας λίστας στην άλλη. Στη Go, αυτό γίνεται με τη χρήση της συνάρτησης append.

Παράδειγμα συγχώνευσης δύο slices:

list1 := []int{1, 2, 3}
list2 := []int{4, 5, 6}

combined := append(list1, list2...)
// το combined τώρα περιέχει [1 2 3 4 5 6]

Εάν θέλετε να συγχωνεύσετε λίστες αφαιρώντας διπλότυπα, μπορείτε να χρησιμοποιήσετε έναν χάρτη για να παρακολουθείτε τα μοναδικά στοιχεία:

func mergeUnique(a, b []int) []int {
    m := make(map[int]bool)
    var result []int
    for _, v := range a {
        if !m[v] {
            m[v] = true
            result = append(result, v)
        }
    }
    for _, v := range b {
        if !m[v] {
            m[v] = true
            result = append(result, v)
        }
    }
    return result
}

Έτσι, η συγχώνευση λιστών χωρίς joins είναι απλώς η προσθήκη στοιχείων και, αν χρειάζεται, η φιλτράρισμα των μοναδικών τιμών.