关于看似相似但在某种程度上不同的 Python 语法的问题
Posted
技术标签:
【中文标题】关于看似相似但在某种程度上不同的 Python 语法的问题【英文标题】:Question concerning seemingly similar but somehow different Python Syntax 【发布时间】:2021-05-22 20:25:39 【问题描述】:我认为这应该可行,但它没有(产生 0):
n1 = [1, 2, 3, 4]
n2 = [5, 6, 7, 8]
pair = zip(n1, n2)
dif = sum(abs(v1 - v2) for v1, v2 in pair)
print(dif)
但是忽略我的 pair 变量并直接使用代码就可以了(产量 16):
dif = sum(abs(v1 - v2) for v1, v2 in zip(n1, n2))
他们两个不应该得出相同的答案吗?
【问题讨论】:
我都得到了 16 个。 【参考方案1】:第一种方法应该有效。如果我猜为什么它不是,也许你已经在你的生成器表达式中使用它之前迭代了“pair”变量
【讨论】:
是的,我也是这么想的,可能表达式之前已经用过生成器了 你们是对的人,谢谢你们帮助我。我简直是愚蠢的...我使用了打印语句print(*pair)
来检查结构。我不知道这可能会产生影响。再次感谢! :) @Seth250,@圆顶以上是关于关于看似相似但在某种程度上不同的 Python 语法的问题的主要内容,如果未能解决你的问题,请参考以下文章
LSH︱python实现局部敏感随机投影森林——LSHForest/sklearn