set_item_of_object
函数私有源码
set_item_of_object(data: Any, index: Any, value: Any)
对于任意数据data
,赋值data[index] = value
,其中index
可以是一个由单元素构成的序列。
若data
的成员无法被设置,抛出ValueError
。
若需要修改的data
是序列,但value
无法成功广播到data
的成员上,抛出IndexError
。
注意
注意index
并非是路由(route
)类型。若该值是序列,该序列只能包含单元素。
参数
输入
参数 | 类型 | 必选 | |
---|---|---|---|
data | Any | 需要索引的完整数据。 | |
index | Any | 用来索引并更新数据某一部分的下标值。该值可以是数字、关键字、或者是形如[0] 的单元素序列。 | |
value | Any | 用来更新data 被index 选中部分的新值。 |
范例
设置完整数据的某部分
- 代码
- 结果
set_a_part_of_data.py
import pprint
from dash_json_grid.mixins import set_item_of_object
data = {
"id": "0001",
"type": "donut",
"name": "Cake",
"ppu": 1111.55,
"batters": {
"batter": [
{"id": "1001", "type": "Regular"},
{"id": "1002", "type": "Chocolate"},
{"id": "1003", "type": "Blueberry"},
{"id": "1004", "type": "Devil's Food"},
]
},
"topping": [
{"id": "5001", "type": "None"},
{"id": "5002", "type": "Glazed"},
{"id": "5005", "type": "Sugar"},
{"id": "5007", "type": "Powdered Sugar"},
{"id": "5006", "type": "Chocolate with Sprinkles"},
{"id": "5003", "type": "Chocolate"},
{"id": "5004", "type": "Maple"},
],
}
route = "batters"
set_item_of_object(data, route, 0)
pprint.pprint(data)
{'batters': 0,
'id': '0001',
'name': 'Cake',
'ppu': 1111.55,
'topping': [{'id': '5001', 'type': 'None'},
{'id': '5002', 'type': 'Glazed'},
{'id': '5005', 'type': 'Sugar'},
{'id': '5007', 'type': 'Powdered Sugar'},
{'id': '5006', 'type': 'Chocolate with Sprinkles'},
{'id': '5003', 'type': 'Chocolate'},
{'id': '5004', 'type': 'Maple'}],
'type': 'donut'}