python 字典dict初始化/创建方法总结

字典常用,但有些初始化方法因为不经常用就会陌生,这里总结一下。

  1. d = {'k1':1, 'k2':2}
  2. d = dict(k1=1, k2=2)
  3. 一个包含tupelist
    dd = [('a',1), ('b',2), ('c',3)]
    dict(dd)
    >>> {'a': 1, 'b': 2, 'c': 3}
    
    一个应用
    from collections import Counter
    dict(Counter('aabbbc').most_common())
    >>> {'b': 3, 'a': 2, 'c': 1}
    
  4. 同理方法3,可以用zip处理过的两个list
    dd = zip(list('abc'), [1,2,3])
    dict(dd)
    >>> {'a': 1, 'b': 2, 'c': 3}
    
  5. dict.fromkeys(iterable, value=None, /)
    不常用
    dict.fromkeys(list('abcd'), 1)
    >>> {'a': 1, 'b': 1, 'c': 1, 'd': 1}
    
  6. collections中的defaultdict,可以设定key的默认类型。比如设为list的话,则不必赋予具体的key而默认每个元素都是一个空的list。具体的看以下实例吧.
    from collections import defaultdict
    d1 = defaultdict(list)
    d1['a'].append(0)
    d1['a'].append(1)
    d1['b'].append(2)
    d1
    >>> defaultdict(list, {'a': [0, 1], 'b': [2]})
    
    from collections import defaultdict
    d1 = defaultdict(set)
    d1['a'].add(0)
    d1['a'].add(0)
    d1['b'].add(2)
    d1
    >>> defaultdict(set, {'a': {0}, 'b': {2}})
    

参考博文:

  1. python 字典初始化方法 全!!!
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 中,可以使用 `dict()` 函数来初始化一个字典。`dict()` 函数可以接受各种类型的参数,包括关键字参数和可迭代对象等。下面分别介绍它们的用法: 1. 通过关键字参数初始化字典 可以使用关键字参数来初始化一个字典,例如: ```python my_dict = dict(name='Alice', age=18, gender='female') ``` 这段代码使用了关键字参数来初始化一个字典,其中 `name`、`age`、`gender` 分别表示字典中的键,`'Alice'`、`18`、`'female'` 分别表示字典中的值。 2. 通过可迭代对象初始化字典 可以使用可迭代对象来初始化一个字典,例如: ```python my_dict = dict([('name', 'Alice'), ('age', 18), ('gender', 'female')]) ``` 这段代码使用了一个列表来初始化一个字典,其中列表中的每个元素都是一个包含两个元素的元组,第一个元素表示字典中的键,第二个元素表示字典中的值。 需要注意的是,如果可迭代对象中的元素不是包含两个元素的元组,那么初始化字典时会引发 `ValueError` 异常,例如: ```python my_dict = dict(['name', 'Alice', 'age', 18, 'gender', 'female']) # 引发 ValueError 异常 ``` 因此,在使用可迭代对象初始化字典时,需要确保每个元素都是包含两个元素的元组。 除此之外,`dict()` 函数还可以接受其他类型的参数,例如一个字典、一个生成器表达式等。需要根据具体的需求选择合适的参数类型,以初始化一个合适的字典
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值