Sobes.tech
Middle — Senior

Jak spojit seznamy bez použití joinů?

sobes.tech AI

Odpověď od AI

Pro spojení dvou seznamů bez použití joinů je možné je jednoduše zkonkatenovat nebo přidat prvky jednoho seznamu do druhého. V jazyce Go se to dělá pomocí funkce append.

Příklad spojení dvou řezů:

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

combined := append(list1, list2...)
// combined nyní obsahuje [1 2 3 4 5 6]

Pokud je potřeba spojit seznamy s odstraněním duplicit, lze použít mapu k sledování unikátních prvků:

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
}

Tímto způsobem je spojení seznamů bez použití joinů jednoduché – stačí přidat prvky a případně filtrovat unikátní hodnoty.