加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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“地图是无序的元素组”,后来“没有指定地图上的迭代顺序,并且不保证从一次迭代到下一次迭代是相同的.”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读