2015-12-15 45 views
0

我正在尋找一種快速方法來爲每個包含另一個數組的值創建一個數組的下限和上限。請看下面的僞代碼:如何創建一個包含另一個列表中所有值的限制的數組

A=[23.4,3434.2,43535] 
#Take each element in A and create B containing upper and lower limit: 
B=[A[0]-limit,A[0]+limit, ....] 

我不確定是否需要嵌套列表。我想這樣的事情更大的計劃做的就是這個範圍比較更大的陣列Ç規定的限度內找到一個所有值。對我而言,問題在於A中的值是一種模式,但不一定與C中的值相匹配,而沒有考慮限制。也許numpy或熊貓在這裏很有用?

編輯:

這是我想稍後使用。但是,如果直接使用A,則不會有匹配項,因爲沒有定義錯誤限制。

numpy.where(pandas.Index(pandas.unique(B)).get_indexer(C) >= 0)[0] 

在此先感謝您。

回答

2

這是你想要的嗎?

>>> limit = 100 
>>> A = [23.4,3434.2,43535] 
>>> B = [(a-limit, a+limit) for a in A] 
>>> B 
[(-76.6, 123.4), (3334.2, 3534.2), (43435, 43635)] 
1

你可以試試這個:

B=[a+s*limit for a in A for s in [-1, 1]] 
+0

謝謝你的幫助。這個工作,但我更喜歡@tobias_k解決方案爲輸出的元組字符。 – Fourier

+0

沒問題,乾杯:) – pseudoDust

相關問題