一. 创建空字典
- 字典名 = {}
- 字典名 = dict()
a = {}
print(a)
# {}
b = dict()
print(b)
# {}
二. 创建有键无值字典
字典名 = dict.fromkeys(列表名)
将列表中的元素作为字典的键,但无值
lis = [1,"a",(1,3)]
a = dict.fromkeys(lis)
print(a)
# {1: None, 'a': None, (1, 3): None}
三. 创建有键值字典
1. 字典名 = dict(键1 = 值1, 键2 = 值2, ... , 键n = 值n)
其中:
- “键1, 键2, ... , 键n”可以是字符串、数字、元组
- “值1, 值2, ... , 值n”可以是任意数据类型
a = dict(a=1, b=2, c=3)
print(a)
# {'a': 1, 'b': 2, 'c': 3}
2. 字典名 = dict(zip(A, B))
其中:
- A、B可以是列表(或元组)
- zip()可将A、B对应元素组合成一个元组
- dict()可将两个元素的元组转化为字典
import numpy as np
import pandas as pd
a = ["z", 2, (2,7)]
b = [[1,"字符串"], np.array([[11,12,13],[21,22,23],[31,32,33]]),pd.DataFrame([[11,12],[21,22],[31,32],[41,42]])]
dic = dict(zip(a,b))
print(dic)
# {'z': [1, '字符串'],
# 2: array([[11, 12, 13],
# [21, 22, 23],
# [31, 32, 33]]),
# (2, 7): 0 1
# 0 11 12
# 1 21 22
# 2 31 32
# 3 41 42}
3. 字典名 = {A : B}
其中:
- A、B可以是列表(或元组)
- A将作为一个键,B将作为一个值
a = ["z", 2, (2,7)]
b = [(2,7), 2, "z" ]
dic = dict(zip(a,b))
print(dic)
# {'z': (2, 7), 2: 2, (2, 7): 'z'}
四. 为字典添加键值对
已存在一个字典:
字典名 = { "a" : 1}
1. 字典名 [ "键名" ] = 值名
那么,原字典将变成:
字典名 = { "a" : 1, "键名" : 值名}
(1). 若字典中无此键值对,则会创建新的键值对
(2). 若字典中有此键值对,则会覆盖掉原来的值
a = {"a":1}
a["b"]=2
print(a)
# {'a': 1, 'b': 2}
2. 字典名 [ "键名" ] = .get( "键名" , 值名)
(1). 字典中有名为 "键名" 的键,则输出对应的值
(2). 字典中无名为 "键名" 的键,则创建新键值对并赋值为 "值名"
a = {'a': 1, 'b': 2}
a["c"]=a.get("c",3)
print(a)
# {'a': 1, 'b': 2, 'c': 3}
五. 为字典“某键”追加值
1. 字典名 [ "键" ] = .get( "键" ) + n
(1). 若字典中有此键,则会为其值追加上n
(2). 若字典中无此键,则会报错
a = {'a': 1, 'b': 2}
a["b"]=a.get("b")+3
print(a)
# {'a': 1, 'b': 5}
a = {'a': 1, 'b': "2"}
a["b"]=a.get("b")+"3"
print(a)
# {'a': 1, 'b': '23'}
2. 字典名 [ "键名" ] = .get( "键名" , 0) + n
(1). 若字典中有此键值对,则会为其值追加上n
(2). 若字典中无此键值对,则会创建新键值对,并赋值为 0,再追加上n
六. 字典删除某键值对
del 字典名["键"]
a = {'a': 1, 'b': 2, 'c': 3}
del a["b"]
print(a)
# {'a': 1, 'c': 3}
七. items()
1. 字典名.items()
输出所有键值对
a = {'a': 1, 'b': 2, 'c': 3}
print(a.items())
# dict_items([('a', 1), ('b', 2), ('c', 3)])
2. 列表名 = list(字典名.items())
将字典转化为列表,列表的元素是元组,元组的元素是键和值
a = {'a': 1, 'b': 2, 'c': 3}
print(list(a.items()))
# [('a', 1), ('b', 2), ('c', 3)]