关于看似相似但有些不同的问题 Python 语法
Question concerning seemingly similar but somehow different Python Syntax
我认为这应该有效,但它没有(产生 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))
他们两个不应该得出相同的答案吗?
第一种方法应该有效。如果我猜为什么不是,也许你在生成器表达式
中使用它之前已经迭代了 'pair' 变量
我认为这应该有效,但它没有(产生 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))
他们两个不应该得出相同的答案吗?
第一种方法应该有效。如果我猜为什么不是,也许你在生成器表达式
中使用它之前已经迭代了 'pair' 变量