'dict_values(['', '', '', '', '', '', '', '', ''])'如何获得[]
时间: 2023-09-27 10:05:49 浏览: 140
可以使用列表推导式,将字典的 `values` 转换为列表,并且去除空字符串:
```python
d = {'key1': '', 'key2': '', 'key3': '', 'key4': '', 'key5': '', 'key6': '', 'key7': '', 'key8': '', 'key9': ''}
values_list = [v for v in d.values() if v != '']
print(values_list) # 输出: []
```
或者使用 `filter` 函数过滤空字符串:
```python
d = {'key1': '', 'key2': '', 'key3': '', 'key4': '', 'key5': '', 'key6': '', 'key7': '', 'key8': '', 'key9': ''}
values_list = list(filter(lambda v: v != '', d.values()))
print(values_list) # 输出: []
```
在上述两种方法中,`values_list` 都会得到一个空列表 `[]`。
相关问题
dict_values转换字符串
可以使用Python内置的字符串拼接方法,将dict_values对象转换为字符串。
例如,假设有一个包含多个值的字典d,可以使用以下代码将其dict_values对象转换为字符串:
```
d = {'a': 1, 'b': 2, 'c': 3}
values_str = ', '.join(str(v) for v in d.values())
```
这里使用了字符串的join方法,将d.values()中的每个值都转换为字符串并用逗号分隔。最终得到的values_str就是一个字符串,包含了所有dict_values对象中的值。
TypeError: unsupported operand type(s) for /: 'dict_values' and 'int'
这个错误通常是因为你在代码中使用了一个字典的 `values()` 方法,将其作为一个整体进行了数学运算,例如除法 `/`。但是 `values()` 方法返回的是一个字典值的视图(view),这个视图并不支持数学运算。
解决该问题的方法是将 `values()` 方法返回的视图转换为一个列表或者其他可迭代对象,然后再进行数学运算。例如,你可以使用 `list(dict.values())` 将字典的值转换为列表,然后再进行数学运算。
举个例子,如果你想要计算一个字典中所有值的平均值,你可以这样做:
```
my_dict = {'a': 10, 'b': 20, 'c': 30}
average = sum(my_dict.values()) / len(my_dict)
```
这个代码片段中,`my_dict.values()` 返回一个字典值的视图,然后使用 `sum()` 函数将其转换为一个数值的总和,最后除以字典的长度得到平均值。
阅读全文