第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

按行值對(duì) [][]string(2D 切片)進(jìn)行分組

按行值對(duì) [][]string(2D 切片)進(jìn)行分組

Go
夢(mèng)里花落0921 2023-07-10 16:48:45
我正在 go 中處理字符串的 2D 切片,我想按“A”列值對(duì)它們進(jìn)行分組,但我無(wú)法弄清楚。我嘗試使用 gota 數(shù)據(jù)框,但它也沒(méi)有像 pandas 中可用的分組依據(jù)。    input := [][]string{        []string{"b", "3", "2.9", "5.3"},        []string{"a", "4", "5.1", "9.1"},        []string{"b", "4", "6.0", "5.3"},        []string{"c", "3", "6.0", "5.5"},        []string{"a", "2", "7.1", "9.2"},    }我想要這樣的輸出。[[b 3 2.9 5.3 4 6.0 5.3] [a 4 5.1 9.1 2 7.1 9.2] [c 3 6.0 5.5]]
查看完整描述

1 回答

?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊

以下group()函數(shù)利用映射來(lái)收集具有相同 [0] 元素的輸入字符串切片,然后將其轉(zhuǎn)換回 2D 切片。這將完成你的工作:


func group(input [][]string) (output [][]string) {

    tmp := map[string][]string{}

    for _, slice := range input {

        if len(slice) <= 1 {

            continue

        }

        tmp[slice[0]] = append(tmp[slice[0]], slice[1:]...)

    }

    for k := range tmp {

        v := append([]string{k}, tmp[k]...)

        output = append(output, v)

    }

    return

}


func main() {

    input := [][]string{

        []string{"b", "3", "2.9", "5.3"},

        []string{"a", "4", "5.1", "9.1"},

        []string{"b", "4", "6.0", "5.3"},

        []string{"c", "3", "6.0", "5.5"},

        []string{"a", "2", "7.1", "9.2"},

    }

    fmt.Println(group(input)) // [[a 4 5.1 9.1 2 7.1 9.2] [c 3 6.0 5.5] [b 3 2.9 5.3 4 6.0 5.3]]

}

對(duì)上面代碼的分析留作練習(xí)。:)


查看完整回答
反對(duì) 回復(fù) 2023-07-10
  • 1 回答
  • 0 關(guān)注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)