python字典多层嵌套取值
时间: 2023-06-21 16:04:51 浏览: 120
可以通过多重索引来取得字典中多层嵌套的值,例如:
```python
my_dict = {"a": {"b": {"c": 123}}}
value = my_dict["a"]["b"]["c"]
print(value) # 输出 123
```
如果某一层可能不存在,可以使用 `get` 方法来获取值,例如:
```python
my_dict = {"a": {"b": {"c": 123}}}
value = my_dict.get("a", {}).get("b", {}).get("c")
print(value) # 输出 123
value = my_dict.get("x", {}).get("y", {}).get("z")
print(value) # 输出 None
```
这样即使某一层不存在也不会报错,而是返回 None。
相关问题
python多层字典取值
可以使用嵌套的键来获取多层字典中的值,例如:
```
my_dict = {'key1': {'nested_key1': 'nested_value1'}, 'key2': {'nested_key2': 'nested_value2'}}
value = my_dict['key1']['nested_key1']
print(value)
```
输出结果为:
```
nested_value1
```
字典的多层嵌套怎么用递归取值
可以使用递归来取得多层嵌套字典的值。以下是一个示例代码:
```python
def get_value(data, keys):
if len(keys) == 1:
return data[keys[0]]
else:
return get_value(data[keys[0]], keys[1:])
# 示例字典
data = {
"a": {
"b": {
"c": 1,
"d": 2
}
}
}
# 获取值
keys = ["a", "b", "c"]
value = get_value(data, keys)
print(value) # 输出: 1
```
在这个示例中,`get_value` 函数接收两个参数:`data` 和 `keys`。`data` 表示要取值的字典,`keys` 表示要取的键的列表。如果 `keys` 列表只有一个键,表示已经找到了最里层的值,直接返回该值。如果 `keys` 列表有多个键,表示还需要继续查找,递归调用 `get_value` 函数,传入 `data[keys[0]]` 作为下一层字典,同时将 `keys` 列表的剩余部分传入递归函数。最终返回找到的值。
阅读全文