gpt4 book ai didi

python - Golang : Trying to create a name, 年龄元组,具有类似于 python 的 zip 功能

转载 作者:行者123 更新时间:2023-12-03 22:59:57 26 4
gpt4 key购买 nike

我有两个数据元素,如

"bob julie mark mike"
"20,30,40,50"
我把它们分开了,现在我试图实现返回一个 python:zip 类型的结果,如下所示
[("bob", "20"), ("julie", "30"), ("mark", "40"), ("mike", "50)]
我已尝试使用以下代码,但出现错误 unexpected comma, expecting )在线 namesAgesTuple[index] = stringTuple[(value, b[index])]下面是完整的代码
package main

import (
"fmt"
"strings"
)

type stringTuple struct {
names string
ages string
}

func main() {
var names string = "bob julie mark mike"
namesArray := strings.Split(names, " ")
fmt.Println(namesArray)

var ages string = "20,30,40,50"
agesArray := strings.Split(ages, ",")
fmt.Println(agesArray)

namesAges := make(map[string]string)

println(len(namesArray))
println(len(agesArray))
print(namesAges)

fmt.Println(zip(namesArray, agesArray))

}

func zip(a []string, b []string) ([]stringTuple, error) {

if len(a) != len(b) {
return nil, fmt.Errorf("zip: arguments length must be same ")
}

namesAgesTuple := make(map[int][]stringTuple)

for index, value := range a {
namesAgesTuple[index] = stringTuple[(value, b[index])]
}
fmt.Println(namesAgesTuple)
return namesAgesTuple, nil

}

非常感谢任何帮助。
谢谢你。

最佳答案

Go 没有元组语法,也许你想要这样的东西:

stringTuple{value, b[index]}
stringTuple是一个结构体,这是初始化它的字段;您还可以明确提供字段名称,如下所示:
stringTuple{names: value, ages: b[index]}
您代码中的另一个问题是 namesAgesTuple是来自 int 的 map 到一片 stringTuple .但是该函数只返回一个 slice ,所以我不确定您为什么在那里使用 map 。
我可能会写这样的代码( Go playground link ):
type stringTuple struct {
names string
ages string
}

func main() {
var names string = "bob julie mark mike"
namesArray := strings.Split(names, " ")
fmt.Println(namesArray)

var ages string = "20,30,40,50"
agesArray := strings.Split(ages, ",")
fmt.Println(agesArray)

fmt.Println(zip(namesArray, agesArray))
}

func zip(a []string, b []string) ([]stringTuple, error) {
if len(a) != len(b) {
return nil, fmt.Errorf("zip: arguments length must be same ")
}

var namesAges []stringTuple
for index, value := range a {
namesAges = append(namesAges, stringTuple{value, b[index]})
}
return namesAges, nil
}

关于python - Golang : Trying to create a name, 年龄元组,具有类似于 python 的 zip 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66602777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com