栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python 3.x的字典视图对象和matplotlib

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 3.x的字典视图对象和matplotlib

该错误的更多信息:

--> 512     return array(a, dtype, copy=False, order=order, subok=True)    513     514 def ascontiguousarray(a, dtype=None):TypeError: float() argument must be a string or a number, not 'dict_values'

因此,最小的示例是:

np.array(d.keys(),dtype=float)

没有dtype规范

In [16]: np.array(d.keys())Out[16]: array(dict_keys([1, 3]), dtype=object)

dict_keys
视为
object
。通常,您必须避免
np.array
将对象视为数字列表。

In [17]: np.fromiter(d.keys(),dtype=float)Out[17]: array([ 1.,  3.])

np.fromiter
可以处理
d.keys()
,并将其视为可迭代的。因此,关于如何
fromiter
处理不同于的可迭代对象,有一些细节
np.array

生成器表达式的工作方式相同,例如

(i for i in range(4))
fromiter
可以遍历它,
array
将其视为对象或引发错误。

如果SO提到的所有错误归结为

np.array(...)
处理生成器,则可能只需进行一次
numpy
更改即可解决此问题。开发人员当然不希望调整可能接受列表的每个函数和方法。但这感觉上是根本性的变化,必须进行彻底的测试。即使那样,它仍然可能产生向后兼容性问题。

一段时间以来,公认的修复方法是通过传递代码

2to3

https://docs.python.org/2/library/2to3.html

对于字典:

修复字典迭代方法。dict.iteritems()转换为dict.items(),dict.iterkeys()转换为dict.keys(),dict.itervalues()转换为dict.values()。同样,dict.viewitems(),dict.viewkeys()和dict.viewvalues()分别转换为dict.items(),dict.keys()和dict.values()。它还在对列表的调用中包装了dict.items(),dict.keys()和dict.values()的现有用法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/634286.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号