2016-10-16 77 views
2

我試圖運行與numba下面的代碼,但得到一個錯誤:numba JIT:「DataFlowAnalysis」對象有沒有屬性「op_STORE_DEREF」

from numba import jit 

@jit(nopython=True) 
def create_card_deck(): 
    values = "23456789TJQKA" 
    suites = "CDHS" 
    Deck = [] 
    [Deck.append(x + y) for x in values for y in suites] 
    return Deck 

create_card_deck() 

是什麼原因造成這個錯誤任何建議都讚賞:

'DataFlowAnalysis' object has no attribute 'op_STORE_DEREF' 

回答

4

這裏有兩個問題 - 更根本的一條是numba不支持字符串nopython模式

@jit(nopython=True) 
def create_card_deck(): 
    values = "23456789TJQKA" 
    suites = "CDHS" 
    return values 

In [4]: create_card_deck() 
--------------------------------------------------------------------------- 
NotImplementedError : Failed at nopython (nopython mode backend) 
cannot convert native str to Python object 

這個特定的錯誤是因爲nopython模式中當前不支持列表解析。

https://github.com/numba/numba/issues/504

+0

貌似名單是不是真的支持兩種:'甲板= []'導致'不能計算爲空list'的指紋 – Nickpick

+0

很多列表操作實際上是支持的,但受條件的所有值都具有相同的類型。 – chrisb

+0

但它似乎不允許列表初始化 – Nickpick