Python中创建字典的几种方法总结(推荐)

536次阅读  |  发布于5年以前

1、传统的文字表达式:


    >>> d={'name':'Allen','age':21,'gender':'male'}
    >>> d
    {'age': 21, 'name': 'Allen', 'gender': 'male'}

如果你可以事先拼出整个字典,这种方式是很方便的。

2、动态分配键值:


    >>> d={}
    >>> d['name']='Allen'
    >>> d['age']=21
    >>> d['gender']='male'
    >>> d
    {'age': 21, 'name': 'Allen', 'gender': 'male'}

如果你需要一次动态地建立一个字典的一个字段,那么这种方式比较合适。

字典与列表不同,不能通过偏移量进行复制,只能通过键来读取或赋值,所以也可以这样为字典赋值,当然访问不存在的键会报错:


    >>> d[1]='abcd'
    >>> d
    {1: 'abcd', 'age': 21, 'name': 'Allen', 'gender': 'male'}
    >>> d[2]
    Traceback (most recent call last):
     File "<pyshell#9>", line 1, in <module>
      d[2]
    KeyError: 2

3、字典键值表


    >>> c = dict(name='Allen', age=14, gender='male')
    >>> c
    {'gender': 'male', 'name': 'Allen', 'age': 14}

因为这种形式语法简单,不易出错,所以非常流行。

这种形式所需的代码比常量少,但是键必须都是字符串才行,所以下列代码会报错:


    >>> c = dict(name='Allen', age=14, gender='male', 1='abcd')
    SyntaxError: keyword can't be an expression

4、字典键值元组表


    >>> e=dict([('name','Allen'),('age',21),('gender','male')])
    >>> e
    {'age': 21, 'name': 'Allen', 'gender': 'male'}

如果你需要在程序运行时把键和值逐步建成序列,那么这种方式比较有用。

5、所有键的值都相同或者赋予初始值:


    >>> f=dict.fromkeys(['height','weight'],'normal')
    >>> f
    {'weight': 'normal', 'height': 'normal'}

以上这篇Python中创建字典的几种方法总结(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8