在python中访问数组列表中的元素

时间:2013-12-02 00:20:06

标签: python arrays list printing

c = []
Indices = []
list_ = iter([0.10,0.16,0.25,0.50,0.75,0.90])
for i in list_:
    b = around((total_*i), decimals = 2)
    t = where(fcol == find_nearest(fcol,b))
    c.append(b)
    indices.append(t)
    print t #gives:

(array([485]),)
(array([523]),)
(array([576]),)
(array([733]),)
(array([963]),)
(array([1254]),)

当我在for循环外打印索引列表时,它看起来像:

print indices #gives:    
[(array([485]),), (array([523]),), (array([576]),), (array([733]),), (array([963]),), (array([1254]),)]

虽然所需的输出是如下列表:

[485, 523, 576, 733, 963, 1254] 

问题: 这个方法我用来写一个'数组列表'是一个好方法吗?(我认为可能有更有效的方法)如果是这样,我怎样才能访问列表中的数字(数组元素)?

2 个答案:

答案 0 :(得分:2)

您可能已在其他位置创建了indices功能。

>>> Indices = []
>>> type(Indices)
<type 'list'>

所以你需要小心大写。

答案 1 :(得分:0)

这解决了我的问题:

indices.append(list(t[0])) 
    #which gives:    
[[485], [523], [576], [733], [963], [1254]]

然后:

for x in indices:
    print (x[0])