列表
创建列表
s = [10, "math", 2022.01.01T09:10:01, [97c, 22l, 3.5f]] type(s) // output: list
访问列表中的值
使用下标直接访问某个元素;
s[3] // output: [a, 22, 3.5] s[-2] // output: 2022.01.01T09:10:01
通过 slice 的方式访问列表中的元素。注意:暂不支持 step 参数。
s[1:4] // output: ['math', 2022.01.01T09:10:01, [a, 22, 3.5]] s[2:] // output: [2022.01.01T09:10:01, [a, 22, 3.5]]
更新列表
更新数据
s[1]="english" // output: [10, 'english', 2022.01.01T09:10:01, [a, 22, 3.5]] # 嵌套 list 不支持直接通过多层索引更新内部的值 s[3][1] = 21 # unsupported # 改写为: tmp = s[3] tmp[1] = 21 s // output: [10, 'english', 2022.01.01T09:10:01, [a, 21, 3.5]]
追加数据
s.append(2020.01.01) // output: [10, 'english', 2022.01.01T09:10:01, [a, 21, 3.5], 2020.01.01] s.insert(0, 13:30m) // output: [13:30m, 10, 'english', 2022.01.01T09:10:01, [a, 21, 3.5], 2020.01.01]
删除列表元素
Python Parser 暂不支持 del
。
s.pop() # 根据索引值删除元素,默认删除最后一个元素。也可通过指定索引删除对应位置的元素。 // output: 2020.01.01 s // output: [13:30m, 10, 'english', 2022.01.01T09:10:01, [a, 21, 3.5]] s.remove(13:30m) # 根据元素值进行删除 s // output: [10, 'english', 2022.01.01T09:10:01, [a, 21, 3.5]] s.clear() # 删除列表所有元素 // output: []
列表可用的所有属性和方法
dir(s) // output: ['__add__', '__dir__', '__eq__', '__getitem__', '__iadd__', '__imul__', '__init__', '__iter__', '__len__', '__mul__', '__ne__', '__repr__', '__req__', '__rne__', '__str__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort', 'toddb']
其中 toddb
是 Python Parser 中特有的方法,它支持将 Python Parser 的列表对象转换成 DolphinDB 的向量(常规向量、元组)。
s = [1, 2, 3] type(s.toddb()) // output: dolphindb.VECTOR.INT s = [[1, 2], `A, 3.2] type(s.toddb()) // output: dolphindb.VECTOR.ANY
列表支持的操作符
操作符 | 含义 | 表达式 | 结果 |
---|---|---|---|
* | 重复列表 | [1, 2, 3] * 3 | [1, 2, 3, 1, 2, 3, 1, 2, 3] |
+ | 拼接列表 | [1, 2022.01M, 3] + [4, 5, "banana"] | [1, 2022.01M, 3, 4, 5, 'banana'] |