问题
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