Python:如何从列表字典中计算最小值、最大值、中值、第一和第三四分位数?

标签 python dictionary max min

假设我有一个这样的列表字典:

mydict={10:[],20:[],30:[],40:[],50:[1],60:[],70:[1],80:[7 , 2, 7, 2, 2, 7, 2],90:[5, 2, 2, 6, 2, 3, 1, 2, 1, 2],...}

我想计算:字典中每个列表的最小值、最大值、中值、第一和第三四分位数。我首先尝试了 minmax,如下所示:

mins_mydict={k:min(v) for k,v in mydict.items()}

maxes_mydict={k:max(v) for k,v in mydict.items()}

但我收到此错误:ValueError: min() arg is an empty sequence。与 max 相同。是因为我的某些列表是空的吗?

如何创建一个异常来检查 len(list)=0

最佳答案

您可以为最小值、最大值指定一个默认值。因此,对于空列表,您将收到通知。

>>> min([] or [-1])
-1

在你的情况下

>>> {k:min(v or [-1]) for k,v in mydict.items()}
{70: 1, 40: -1, 10: -1, 80: 2, 50: 1, 20: -1, 90: 1, 60: -1, 30: -1}
>>> {k:max(v or ["empty list"]) for k,v in mydict.items()}
{70: 1, 40: 'empty list', 10: 'empty list', 80: 7, 50: 1, 20: 'empty list', 90: 6, 60: 'empty list', 30: 'empty list'}

关于Python:如何从列表字典中计算最小值、最大值、中值、第一和第三四分位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36446960/

相关文章:

python - Django 是否会为分页器功能获取所有数据库对象并使其效率低下?

scala - 多函数中的类型删除,scala

r - 更有效的方式:selecting vec from a list

python - 在数据框中创建最大/最小列时选择列的问题

scala - 如何找到两个 Option[Int] 的 min() 或 max()

python - 如何使 super() 在 python 中的这种非理想情况下工作?

python - 这个字节串实际占用了多少内存?

python - 如何将编码字符串转换为可读格式?

python - 如何计算字典中有多少键具有特定值?

python - 嵌套字典 python