有了這個代碼:的Python:選擇功能
import scipy
from scipy import *
x = r_[1:15]
print x
a = select([x > 7, x >= 4],[x,x+10])
print a
我得到這樣的回答:
[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
[ 0 0 0 14 15 16 17 8 9 10 11 12 13 14]
不過爲什麼我有在零開始而不是結束了嗎?提前致謝。
有了這個代碼:的Python:選擇功能
import scipy
from scipy import *
x = r_[1:15]
print x
a = select([x > 7, x >= 4],[x,x+10])
print a
我得到這樣的回答:
[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
[ 0 0 0 14 15 16 17 8 9 10 11 12 13 14]
不過爲什麼我有在零開始而不是結束了嗎?提前致謝。
你似乎在使用numpy。
從documentation for numpy.select():
numpy.select(condlist, choicelist, default=0)
...
默認:插在輸出時的所有條件評價爲
False
的元素。
由於您的條件x > 7
和x >=4
,輸出陣列將具有從x+10
當x >= 4
元素和從x
時x > 7
。當兩個條件都是假的時候,即當x < 4
時,你會得到默認,這是0.所以你在開始時得到3個零。
你沒有得到最終的任何零,因爲條件至少有一個爲真(都是真實的,事實)。
我只有一個條件。對不起,我是盲人。 – kame 2010-02-16 12:49:40
你的'select'函數來自哪裏? – MattH 2010-02-16 12:47:00
'select'不是Python中的內建函數,因此您必須提供更多關於上下文的詳細信息以供任何人協助。即定義的「select」函數在哪裏? 'x'和'r_'的類型是什麼? – 2010-02-16 12:47:08
什麼是select()函數?我只能找到這個:http://docs.python.org/library/select.html – 2010-02-16 12:47:59