字典
创建字典
有两种创建字典的方法:使用 {} 创建或使用 dict 函数创建。暂时不支持通过 dictionary comprehension 的方式创建字典。
方法一:使用 {} 创建字典。
# method1: {} 声明 d = {'A':12, 'B':`halo, 'C': [1,2,3]} type(d) // output: dict d1 = {'alpha':{'A': 1, 'B': 2}, 'num':{1: 2, 2: 3}} // output: {'alpha': {'A': 1, 'B': 2}, 'num': {1: 2, 2: 3}}
方法二:使用 dict 函数创建字典。
# method2: dict(iterable, **kwarg) d1 = dict([('one', 1), ('two', 2), ('three', 3)]) type(d1) // output: dict
访问字典里的值
通过键(key)来访问字典里的值。
d['C'] // output: [1,2,3] d.values()
更新字典
更新数据
d['B'] = 2022.01.01 d // output: {'A': 12, 'B': 2022.01.01, 'C': [1, 2, 3]} d2 = {'A':15, 'D':`YES} d.update(d2) d // output: {'A': 15, 'B': 2022.01.01, 'C': [1, 2, 3], 'D': 'YES'}
追加数据
d = {'A':12, 'B':`halo, 'C': [1,2,3]} d['D'] = ("math", "chinese", [90, 80]) d // output: {'A': 12, 'B': 'halo', 'C': [1, 2, 3], 'D': ('math', 'chinese', [90, 80])}
删除数据
d = {'A':12, 'B':`halo, 'C': [1,2,3]} d.pop('A') # 通过键,删除指定键值对 // output: 12 d // output: {'B': 'halo', 'C': [1, 2, 3]} d.clear() d // output: {}
字典可用的所有属性和方法
dir(d) // output: ['__dir__', '__eq__', '__getitem__', '__init__', '__iter__', '__len__', '__ne__', '__repr__', '__req__', '__rne__', '__str__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'setdefault', 'toddb', 'update', 'values']
其中 toddb
是 Python Parser 中特有的方法。当一个字典对象的 key 满足以下条件时:所有 key 的类型相同,且不能是 DOUBLE 或 FLOAT 类型,可以通过 toddb
将其转换成 DolphinDB 的字典。
d = {'A': 12, 'B': 2022.01.01, 'C': [1, 2, 3]} type(d.toddb()) // output: dolphindb.DICTIONARY.STRING d = {1: 12, 2: 2022.01.01, 3: [1, 2, 3]} type(d.toddb()) // output: dolphindb.DICTIONARY.INT