作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
让我演示一下。它咬了我两次,第一次我放弃了我无法理解 groupby
工作原理的想法。我正在使用“Python3.6”。
我有一个 x.y
格式的元素列表,我想按 y
分组。
a = ['1D.5', '2D.5', '3D.5', '1D.10', '2D.10', '3D.10', '1D.20', '2D.20', '3D.20', '1D.100', '2D.100', '3D.100']
groups = list(itertools.groupby(a, key=lambda x: x.split('.')[-1]))
for gname, glist in groups:
print(list(glist))
结果如下。
[]
[]
[]
['3D.100']
奇怪!
但是这有效。
groups = itertools.groupby(a, key=lambda x: x.split('.')[-1])
for gname, glist in groups:
print(list(glist))
['1D.5', '2D.5', '3D.5']
['1D.10', '2D.10', '3D.10']
['1D.20', '2D.20', '3D.20']
['1D.100', '2D.100', '3D.100']
不同之处在于这次我没有在 itertools.groupby
上调用 list
。这种行为背后肯定有一些技术原因,但根据我对 python 生成器的经验,这是非常违反直觉的,而且可能是错误的!
为什么在迭代器上调用 list
会使其内容无效?
附言:groupby
的文档在其实现细节中有以下两行。
# [k for k, g in groupby('AAAABBBCCDAABBB')] --> A B C D A B
# [list(g) for k, g in groupby('AAAABBBCCD')] --> AAAA BBB CC D
我是否正确地怀疑 list(some generator)
不能保证给出与“等效”列表理解相同的结果?
发自 csexchange : 我见过的大多数模拟退火版本的实现类似于下面维基百科伪代码中概述的内容: Let s = s0 For k = 0 through kmax (exclusive):
我得到了这段代码用于分析: private String type[] = {"Hearts","Spades","Clubs","Diamonds"}; private String rank[]
我对机器学习算法和 Spark 非常陌生。我遵循Twitter 流语言分类器在这里找到: http://databricks.gitbooks.io/databricks-spark-referenc
直观的逻辑,具有 build 性,是函数式编程中类型系统的基础。经典逻辑不是 build 性的,尤其是排中律 A ∨ ¬A(或其等价物,例如 double negation elimination 或
我是一名优秀的程序员,十分优秀!