我该如何替换代码中的numpy数组?

-2 投票
1 回答
56 浏览
提问于 2025-04-14 17:18

我有一个程序,它用numpy数组来创建线性渐变。但是因为numpy库在微控制器上占用的空间太大,所以不能使用。有没有什么办法可以用其他东西替代numpy.array呢?

import numpy as np

def colorFade(c1, c2, mix=0):
    c1 = np.array(c1)
    c2 = np.array(c2)
    print(tuple((1-mix)*c1 + mix*c2))

c1 = (0, 0, 200)
c2 = (200, 0, 200)
n = 500

for x in range(n+1):
    colorFade(c1,c2,x/n)

我尝试把数组改成元组和列表,但都失败了,出现了这个错误:TypeError: can't multiply sequence by non-int of type 'float'。而使用numpy.array模块就没有这个错误。

1 个回答

0

列表和元组不会自动对每个元素进行数学运算,你需要自己写代码来实现这个功能。

def colorFade(c1, c2, mix=0):
    print(tuple((1-mix)*e1 + mix*e2 for e1, e2 in zip(c1, c2)))

撰写回答