本文共 1329 字,大约阅读时间需要 4 分钟。
1.传统的文字表达式:
>>> d={ 'name':'Allen','age':21,'gender':'male'}>>> d{ 'age': 21, 'name': 'Allen', 'gender': 'male'} 1 2 3 1 2 3
如果你可以事先拼出整个字典,这种方式是很方便的。
2.动态分配键值:
>>> d={}>>> d['name']='Allen'>>> d['age']=21>>> d['gender']='male'>>> d{ 'age': 21, 'name': 'Allen', 'gender': 'male'} 1 2 3 4 5 6 1 2 3 4 5 6
如果你需要一次动态地建立一个字典的一个字段,那么这种方式比较合适。
字典与列表不同,不能通过偏移量进行复制,只能通过键来读取或赋值,所以也可以这样为字典赋值,当然访问不存在的键会报错:
>>> d[1]='abcd'>>> d{ 1: 'abcd', 'age': 21, 'name': 'Allen', 'gender': 'male'}>>> d[2]Traceback (most recent call last): File "", line 1, in d[2]KeyError: 2 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
3.字典键值表
>>> c = dict(name='Allen', age=14, gender='male')>>> c{ 'gender': 'male', 'name': 'Allen', 'age': 14} 1 2 3 1 2 3
因为这种形式语法简单,不易出错,所以非常流行。
这种形式所需的代码比常量少,但是键必须都是字符串才行,所以下列代码会报错:
>>> c = dict(name='Allen', age=14, gender='male', 1='abcd')SyntaxError: keyword can't be an expression 1 2 1 2
4.字典键值元组表
>>> e=dict([('name','Allen'),('age',21),('gender','male')])>>> e{ 'age': 21, 'name': 'Allen', 'gender': 'male'} 1 2 3 1 2 3
如果你需要在程序运行时把键和值逐步建成序列,那么这种方式比较有用。
5.所有键的值都相同或者赋予初始值:
>>> f=dict.fromkeys(['height','weight'],'normal')>>> f{ 'weight': 'normal', 'height': 'normal'}
转载地址:http://motqb.baihongyu.com/