python字典多维嵌套字典无限遍历,获取所有的key值
时间: 2023-09-11 11:06:53 浏览: 85
可以使用递归函数来遍历字典中所有的key值。以下是一个示例代码:
```python
def get_all_keys(d, keys=[]):
for k, v in d.items():
keys.append(k)
if isinstance(v, dict):
get_all_keys(v, keys)
return keys
```
这个函数使用了一个空列表作为默认参数,用于存储遍历到的所有key值。对于字典中的每一个键值对,我们将键添加到keys列表中,并检查其对应的值是否是字典类型。如果是,我们递归调用get_all_keys函数,并将keys列表传递给它。最后,我们返回keys列表,其中包含了所有遍历到的key值。
可以通过以下方式来使用这个函数:
```python
my_dict = {
'a': 1,
'b': {
'c': 2,
'd': {
'e': 3
}
}
}
all_keys = get_all_keys(my_dict)
print(all_keys)
```
这将输出所有的key值:['a', 'b', 'c', 'd', 'e']。
相关问题
python 字典的key为中文, 遍历时只输出中文
可以使用Python的字符串处理函数来实现只输出中文的需求。例如可以使用Python内置的`isalpha()`函数来判断一个字符是否为中文字符,然后只输出中文字符。
下面是一个实现该需求的例子:
```python
my_dict = {'中文1': 1, '中文2': 2, '英文': 3}
for key in my_dict.keys():
# 判断key是否为中文字符,是则输出
if all('\u4e00' <= char <= '\u9fff' for char in key):
print(key)
```
输出结果为:
```
中文1
中文2
```
在这个例子中,我们使用了Python内置的`all()`函数和字符串的Unicode编码来判断一个字符串是不是全为中文字符。如果是中文字符,则输出该字符串作为字典的key。
python 遍历字典所有值
你可以使用字典的 `values()` 方法来获取所有的值,然后使用循环遍历每个值。例如:
```python
my_dict = {'a': 1, 'b': 2, 'c': 3}
for value in my_dict.values():
print(value)
```
这将输出:
```
1
2
3
```
你也可以将所有值存储在列表中,以供后续使用:
```python
my_dict = {'a': 1, 'b': 2, 'c': 3}
all_values = list(my_dict.values())
print(all_values)
```
这将输出:
```
[1, 2, 3]
```