当前位置: 代码迷 >> python >> 以类似于正弦波的方式在列表中应用值偏移(缓入和缓出)
  详细解决方案

以类似于正弦波的方式在列表中应用值偏移(缓入和缓出)

热度:95   发布时间:2023-06-16 14:06:00.0

首先,对标题的遗憾,我不确定如何优雅地描述我的追求。

基本上,我正在尝试创建一个函数,该函数可以将数字列表传递给偏移量值,并让该函数返回该列表,并以缓入,缓出的方式应用偏移量,

例如,假设我给该函数一个列表0,0,0,0,0,0,0,0,0,0,0,偏移量为10。我希望它返回类似0、2的值5、8.5、10、8.5、5、2、0。我该怎么做?

这将完全满足您的要求:

import math

d = [0] * 9
offset = 10

dlen = len(d)
r = [d[i] + offset * math.sin(i * math.pi / (dlen - 1))
     for i in range(dlen)]

print d
print r
  相关解决方案