Accessing elements in a list of arrays in python

[亡魂溺海] 提交于 2019-12-13 07:48:08

问题


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]),)

when I print the indices list outside for loop it looks like:

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

While desired output is a list like:

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

Question: Is this method I used to write a 'list of arrays' a good approach?(well I think there may be more efficient ways) If it is, how can I access the numbers (elements of arrays) in the list?


回答1:


You've likely created an indices function elsewhere.

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

So you need to be careful about capitalization.




回答2:


This solved my problem:

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

and then:

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


来源:https://stackoverflow.com/questions/20318986/accessing-elements-in-a-list-of-arrays-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!