1
分類Python的 - 得到最接近的整數給出一個整數列表簡譜
values = [7, 9, 10, 11]
如果我想找到最接近值
value = 0
我可以簡單地使用
closest_value = min(values, key=lambda x:abs(x-value))
並獲得
[out]: 7
然而,在我的情況values
相當於簡譜的整數,像這樣:
notation_values = {'C':0, 'C#':1, 'D':2, 'Eb':3, 'E':4, 'F':5, 'F#':6, 'G':7, 'Ab':8, 'A':9, 'Bb':10, 'B':11}
在這種情況下,0
接近11
,因爲,12
會,只有一個八度較高的是'C'
一次。
根據這個邏輯我怎樣才能得到最接近的整數value
?
聽起來就像你想要的最接近的值小於你的索引。 IE:最接近1的值是0,最接近0的值是11,取決於你的範圍。在這種情況下,最接近價值的指數應該是「價值 - 1%12」。 –
11是否接近0而不是13? –