Contents

24. Dotdict

在Python版本中,您可以更明确地使用以下内容:

initials.setdefault(initial, 0)

而不是先检查key是否在那里。请注意,在Go中,将类型设置为int时,它将在初始化时自动将其设置为0。

24.1. Python

#!/usr/bin/env python
# -*- coding:utf8 -*-
# auther; 18793
# Date:2020/4/21 13:50
# filename: sample1.py

initials = {}
for name in ("peter", "anders", "bengt", "bengtsson"):
    initial = name[0]
    # if initial not in initials:
    #     initials[initial] = 0
    initials.setdefault(initial, 0)
    initials[initial] += 1
print(initials)     # {'p': 1, 'a': 1, 'b': 2}

24.2. Go

package main

import "fmt"

func main() {
    names := []string{"peter", "anders", "bengt", "bengtsson"}
    initials := make(map[string]int)
    for _, name := range names {
        initial := string(name[0])
        initials[initial]++
    }
    fmt.Println(initials)
    // outputs
    // map[p:1 a:1 b:2]
}