2016-06-24 47 views
-1

下面是一些代碼(從文檔):如何創建c_ints的列表,並一次添加元素的一個(蟒蛇)

IntArray5 = c_int * 5 
ia = IntArray5(5, 1, 7, 33, 99) 

我怎麼可以這樣做:

N = 5 
IntArrayN = c_int * N 
ian = IntArrayN 
ian.append(5) 
ian.append(1) 
ian.append(7) 
ian.append(33) 
ian.append(99) 

所以這就產生了一個屬性錯誤

+2

使用'list'具有可變長度,而不是'c_int'數組,它是 - 通過定義 - 固定長度。 –

+1

'c_int * N'在執行時使用'N'的值爲'5',它不會使類型具有可變長度。 –

+0

變量的意義,N是未知的運行時間 – channon

回答

0

這是我能夠做到的。

arr=[] 
arr.append(5) 
arr.append(1) 
arr.append(7) 
arr.append(33) 
arr.append(99) 

ian=(c_int*len(arr)(*arr) 
print type(arr) # list 
print type(ian) #__main.c_int_Array_N 

輸出

<type 'list'> 
<class '__main__.c_int_Array_4'> 
相關問題