
# 字典函数
本文介绍字典函数的语法规则，包括参数解释、函数示例等。
#### 函数列表
| **函数**                                                                                                                                    | **说明**       |
|:---|:---|
| [dct_make]     | 构建字典。        |
| [dct_update]    | 更新字典。        |
| [dct_delete]    | 删除字典键值对。     |
| [dct_keys]     | 获取字典关键字列表。   |
| [dct_values] | 获取字典值列表。     |
| [dct_get]    | 获取字典中某关键字的值。 |
   
 #### dct_make
构建字典。
- **函数格式**
  ```
  dct_make(key1, value1, key2, value2, ...)
  ```
  
- **参数说明**
  
  | **参数名称** | **数据类型** | **是否必填** |     **说明**     |
  |---|---|---|---|
  | key      | String   | 是        | 作为字典key的字符串。   |
  | value    | String   | 是        | 作为字典value的字符串。 |
     
  
- **返回结果**
  返回构建的字典。
  
- **函数示例**
  - 测试数据
    ```
    {
      "content": "test"
    }
    ```
    
  
  - 加工规则
    ```
    e_set("hello", dct_make("k1","v1","k2","v2"))
    ```
    
  
  - 加工结果
    ```
    content:test
    hello:{"k1": "v1", "k2": "v2"}
    ```
    
   
 
 #### dct_update
更新字典。
- **函数格式**
  ```
  dct_update(dict1, dict2)
  ```
  
- **参数说明**
  
  | **参数名称** | **数据类型** | **是否必填** |   **说明**    |
  |---|---|---|---|
  | dict1    | dict     | 是        | 需要被更新的目标字典。 |
  | dict2    | dict     | 是        | 补充新的字典信息。   |
     
  
- **返回结果**
  返回更新的字典。
  
- **函数示例**
  - 测试数据
    ```
    {
      "ctx": {
        "k1": "v1",
        "k2": "v2"
      }
    }
    ```
    
  
  - 加工规则
    ```
    e_set("hello", dct_update(v("ctx"), {"k3": "v3"}))
    ```
    
  
  - 加工结果
    ```
    ctx: {"k1":"v1","k2":"v2"}
    hello: {"k1": "v1", "k2": "v2", "k3": "v3"}
    ```
    
   
 
 #### dct_delete
删除字典。
- **函数格式**
  ```
  dct_delete(dict, key1, key2, ...)
  ```
  
- **参数说明**
  
  | **参数名称** | **数据类型** | **是否必填** |    **说明**     |
  |---|---|---|---|
  | dict     | dict     | 是        | 需要删除键值对的目标字典。 |
  | key1     | String   | 是        | 要删除的键值对的关键字。  |
  | key2     | String   | 否        | 要删除的键值对的关键字。  |
     
  
- **返回结果**
  返回删除后的字典。
  
- **函数示例**
  - 测试数据
    ```
    {
      "ctx": {
        "k1": "v1",
        "k2": "v2"
      }
    }
    ```
    
  
  - 加工规则
    ```
    e_set("hello", dct_delete(v("ctx"), "k2"))
    ```
    
  
  - 加工结果
    ```
    ctx: {"k1":"v1","k2":"v2"}
    hello: {"k1":"v1"}
    ```
    
   
 
 #### dct_keys
获取字典关键字列表。
- **函数格式**
  ```
  dct_keys(dict)
  ```
  
- **参数说明**
  
  | **参数名称** | **数据类型** | **是否必填** | **说明** |
  |---|---|---|---|
  | dict     | dict     | 是        | 字典数据。  |
     
  
- **返回结果**
  返回获取的字典关键词列表。
  
- **函数示例**
  - 测试数据
    ```
    {
      "ctx": {
        "k1": "v1",
        "k2": "v2"
      }
    }
    ```
    
  
  - 加工规则
    ```
    e_set("hello", dct_keys(v("ctx")))
    ```
    
  
  - 加工结果
    ```
    ctx: {"k1":"v1","k2":"v2"}
    hello: ["k1","k2"]
    ```
    
   
 
 #### dct_values
获取字典值列表。
- **函数格式**
  ```
  dct_values(dict)
  ```
  
- **参数说明**
  
  | **参数名称** | **数据类型** | **是否必填** | **说明** |
  |---|---|---|---|
  | dict     | dict     | 是        | 字典数据。  |
     
  
- **返回结果**
  返回获取的字典词列表。
  
- **函数示例**
  - 测试数据
    ```
    {
      "ctx": {
        "k1": "v1",
        "k2": "v2"
      }
    }
    ```
    
  
  - 加工规则
    ```
    e_set("hello", dct_values(v("ctx")))
    ```
    
  
  - 加工结果
    ```
    ctx: {"k1":"v1","k2":"v2"}
    hello: ["v1","v2"]
    ```
    
   
 
 #### dct_get
获取字典中某关键字的值。
- **函数格式**
  ```
  dct_get(dict,key,default=None)
  ```
  
- **参数说明**
  
  | **参数名称** | **数据类型** | **是否必填** |    **说明**     |
  |---|---|---|---|
  | dict     | dict     | 是        | 字典数据。         |
  | key      | String   | 是        | 要获取值的关键字。     |
  | default  | String   | 否        | key不存在时，返回该值。 |
     
  
- **返回结果**
  返回字典关键字的值。
  
- **函数示例**
  1. 示例1：
     - 测试数据
       ```
       {
         "ctx": {
           "k1": "v1",
           "k2": "v2"
         }
       }
       ```
       
     
     - 加工规则
       ```
       e_set("hello", dct_get(v("ctx"), "k1"))
       ```
       
     
     - 加工结果
       ```
       ctx: {"k1":"v1","k2":"v2"}
       hello: v1
       ```
       
      
  
  2. 示例2：
     - 测试数据
       ```
       {
         "ctx": {
           "k1": "v1",
           "k2": "v2"
         }
       }
       ```
       
     
     - 加工规则
       ```
       e_set("hello", dct_get(v("ctx"), "k3",default="123"))
       ```
       
     
     - 加工结果
       ```
       ctx: {"k1":"v1","k2":"v2"}
       hello: 123
       ```
       
      
   
 
