通用句式为 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值