python – 为什么Go的地图迭代顺序在打印时会有所不同?
发布时间:2020-12-20 13:04:02 所属栏目:Python 来源:网络整理
导读:package mainimport "fmt"func main(){ sample := map[string]string{ "key1":"value1","key2":"value2","key3":"value3",} for i := 0;i3;i++{ fmt.Println(sample) }} 上面的代码只打印了一个map [string]字符串三次. 我希望它是一个固定的输出,但它显示如
package main import "fmt" func main(){ sample := map[string]string{ "key1":"value1","key2":"value2","key3":"value3",} for i := 0;i<3;i++{ fmt.Println(sample) } } 上面的代码只打印了一个map [string]字符串三次. 我希望它是一个固定的输出,但它显示如下: map[key3:value3 key2:value2 key1:value1] map[key1:value1 key3:value3 key2:value2] map[key2:value2 key1:value1 key3:value3] 它有所不同! 而在python中: #!/bin/env python #encoding=utf8 sample = { "key1":"value1",} for i in range(3): print sample 输出: {'key3': 'value3','key2': 'value2','key1': 'value1'} {'key3': 'value3','key1': 'value1'}` 解决方法
您不能依赖获取密钥的顺序.语言规范
says“地图是无序的元素组”,后来“没有指定地图上的迭代顺序,并且不保证从一次迭代到下一次迭代是相同的.”
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |