假设我有
def distance2(vector1, vector2):
zipped = zip(vector1, vector2)
difference2 = [(vector2 - vector1) ** 2 for (vector1, vector2) in zipped]
return sum(difference2)其中distance2(vector1, vector2)求出vector1和vector2之间的(平方)欧几里得距离。该函数将适用于可迭代元素,但假设我们还希望使其适用于不可迭代元素(即distance2(1,3))。有没有一种巨蟒式的方法来做到这一点?(即,自动将常规输入转换为单例列表)。
发布于 2019-04-11 00:55:44
您正在描述always_iterable的基本用法。
>>> from more_itertools.more import always_iterable
>>> for val in always_iterable(1):
... print(val)
...
1发布于 2021-08-09 09:46:00
您可以使用numpy:
np.atleast_1d(1)
# array([1])
np.atleast_1d([1,2,3])
# array([1,2,3])https://stackoverflow.com/questions/55617598
复制相似问题