python 字典初始化方法 全!!!

python 中字典还是比较常用的,可惜自己一直记不住,好记性不如烂笔头这话说的一点没错

方法一:

(这个是比较常见的)

 
  1. d1 = {'x': 1, 'y': 2}

  2. print(d1['x'])

  3. >>> 1

当然也有这种特别好理解,但是写起来不那么.......友好的

 
  1. d1' = {}

  2. d1'[k1] = v1

  3. d1'[k2] = v2

  4. .......

方法二:

 
  1. d2 = dict(x = 1, y = 2)

  2. print(d2['x'])

  3. >>> 1

方法三:

 
  1. d3 = dict(zip('abc', [1,2,3])

  2. print(d3['b'])

  3. >>> 2

方法四:(这种我没太用过,在书上偶然看到就先记下,后续有发现再补充)

 
  1. d4 = dict.fromkeys(range(2), 3)

  2. print(d4[1])

  3. >>> 3

  4. d4' = dict.fromkeys(('x', 'y'),)

  5. print(d4'['x'])

  6. >>> None

方法五:

 
  1. list = [('a', 1), ('b', 2), ('c', 3)]

  2. d5 = dict(list)

  3. print(d5['a'])

  4. >>> 1

        字典是一种关联容器,每个键都映射到一个单独的值上。如果想让键映射到多个值,需要将多个值保存到另一个容器如列表或集合中。例如:

 
  1. m = {

  2. 'a' : [1, 2, 3],

  3. 'b' : [4, 5]

  4. }

  5. n = {

  6. 'a' : {1, 2, 3},

  7. 'b' : {4, 5}

  8. }

'

运行

        至于要使用列表还是集合完全取决于使用的意图。如果希望保留元素插入的顺序,就用列表。如果希望消除重复元素(且不在意它们的顺序),就用集合

为了能方便地创建这样的字典,可以利用collections模块中的defaultdict类。defaultdict的一个特点就是它会自动初始化第一个值,这样只需添加元素即可,例如:

 
  1. from collections import defaultdict

  2. #list

  3. d = defaultdict(list)

  4. d['a'].append(1)

  5. d['a'].append(2)

  6. d['b'].append(4)

  7. .......

  8. #set

  9. d = defaultdict(set)

  10. d['a'].add(1)

  11. d['a'].add(2)

  12. d['b'].add(4)

  13. .......

        原则上,构建一个一键多值字典是很容易的。但是如果试着自己对第一个值做初始化操作,这就会变得很杂乱。例如,可能会写下这样的代码:

 
  1. d = {}

  2. for key, value in pairs:

  3. if key not in d:

  4. d[key] = []

  5. d[key].append(value)

如果使用defaultdict的话,代码会简单一些:

 
  1. d = defaultdict(list)

  2. for key, value in pairs:

  3. d[key].append(value)

先写这么多,后续再补充~

python 字典初始化方法 全!!!_python字典初始化-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值