dictionary - 在 Julia 中,我如何找出为什么 Dict{String, Any} 是 Any?
问题描述
我对 Julia 很陌生,这些天主要是用 Python 编写代码。我正在使用 Julia 来处理和操作 HDF5 文件。
所以当我写出 ( h5write
) 时,我得到一个错误,因为 data 参数是混合类型的,我需要找出原因。
错误消息说Array{Dict{String,Any},4}
的是我要传递的内容,但是当我查看这些值(而且它是一个巨大的结构)时,我看到了很多0xff
这样的值。我如何快速找到为什么是 Any 而不是单一类型?
解决方案
只是为了回答这个问题:
如果my_dicts
是Array{Dict{String, Any}, 4}
,那么找出隐藏在Any
dict 部分中的类型的一种方法是:
unique(typeof.(values(my_dicts[1])))
解释:
my_dicts[1]
挑选出你的数组的第一个元素,即你的一个Dict{String, Any}
values
然后提取值,这是Any
字典的一部分,typeof.
(注意点)在所有返回的元素上广播typeof
函数values
,返回所有这些元素的类型;和unique
获取所有这些类型的列表并将其简化为唯一的元素,因此您最终将Any
获得字典部分中包含的每个单独类型的列表。
推荐阅读
- c# - C# ASP.NET:使用验证显示错误消息
- r - 如何更新单元格数据中特定位置的值
- r - Shiny中的和弦网络覆盖自身
- selenium - 机器人框架定位器无法找到定位器
- r - 将大型数据框拆分为嵌套列表,并仅在 R 中保留有意义的非分组因素
- bash - 基于awk添加列结果
- javascript - 如何自动点击提交按钮 - 反应
- java - 从 JPA 到休眠的单表继承迁移问题
- shell - 如何使用软件包列表来确定是否需要在 Ubuntu 20.10 上进行 apt-get update?
- elixir - 将 JSON 数据更新到 postgresql db 的问题:** (Ecto.CastError) 预期参数是:map,得到:)