Python字典创建的几种方式

Python014

Python字典创建的几种方式,第1张

通用句式为 D = { key: value for key, value in iterable (if 语句) } ,比较常用。

通用句式为 D = dict.fromkeys(key_list, 'default_value') ,默认所有的value的值都为一样的。

通用句式为 D = dict(zip(key_list, value_list)) ,较为常见。

通用句式为 D = dict(tuple_list) ,主要是tuple list的生成。

注意此时,输入的key值不需要加引号,默认x=1会转换为'x':1

注意key,value的表述方式和上述的区别

今日份水文完毕~

参考资料: https://blog.csdn.net/u011089523/article/details/60144772

1.传统的文字表达式:

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

{'age': 21, 'name': 'Allen', 'gender': 'male'}123

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

2.动态分配键值:

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

{'age': 21, 'name': 'Allen', 'gender': 'male'}123456

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

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

>>>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: 212345678

3.字典键值表

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

{'gender': 'male', 'name': 'Allen', 'age': 14}123

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

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

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

4.字典键值元组表

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

{'age': 21, 'name': 'Allen', 'gender': 'male'}123

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

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

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

{'weight': 'normal', 'height': 'normal'}

python---创建字典的方式

1、用{}创建字典

代码:

x = {"a":"1", "b":"2"}

print x

输出:

{'a': '1', 'b': '2'}

2、用内置函数dict()

(1)、入参为类似a="1"的键值对

代码:

x = dict(a="1", b="2")

print x

输出:

{'a': '1', 'b': '2'}

(2)、入参为一个元组,元组内部是一系列包含两个值的元组,例如(("a", "1"), ("b", "2"))

代码:

x = dict((("a", "1"), ("b", "2")))

print x

输出

{'a': '1', 'b': '2'}

(3)、入参为一个元组,元组内部是一系列包含两个值的列表,例如(["a", "1"], ["b", "2"])

代码:

x = dict((["a", "1"], ["b", "2"]))

print x

输出:

{'a': '1', 'b': '2'}

(4)、入参为一个列表,列表内部是一系列包含两个值的元组,例如[("a", "1"),("b", "2")]

代码:

x = dict([("a", "1"),("b", "2")])

print x

输出:

{'a': '1', 'b': '2'}

(5)、入参为一个列表,列表内部是一系列包含两个值的列表,例如[["a", "1"],["b", "2"]]

代码:

x = dict([["a", "1"],["b", "2"]])

print x

输出:

{'a': '1', 'b': '2'}

注意:

对于a="1"的方式初始化字典,字典的key只能为字符串,并且字符串不用加引号

对于dict内置函数初始化当入参是一个元组时,例如1)、2),元组内部的两元素元组或者列表至少为两个,否则会出错

3、用户fromkeys方法创建字典

代码:

dict.fromkeys(("a", "b"), 1)

print x

输出:

{'a': 1, 'b': 1}

入参可以的第一个参数是一个列表或者元组,里边的值为key,第二个参数是所有key的value值