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]),)
keď vytlačím zoznam indexov zvonku, vyzerá to takto:
print indices #gives:
[(array([485]),), (array([523]),), (array([576]),), (array([733]),), (array([963]),), (array([1254]),)]
Zatiaľ čo požadovaný výstup je zoznam ako:
[485, 523, 576, 733, 963, 1254]
Otázka: Je táto metóda použitá na písanie „zoznamu polí“ dobrý prístup? (Myslím si, že môžu existovať efektívnejšie spôsoby) Ak áno, ako môžem získať prístup k číslam (prvkom polí) v zozname?
odpovede:
2 pre odpoveď č. 1Pravdepodobne ste vytvorili indices
fungovať inde.
>>> Indices = []
>>> type(Indices)
<type "list">
Takže musíte byť opatrní pri kapitalizácii.
0 pre odpoveď č. 2
To vyriešilo môj problém:
indices.append(list(t[0]))
#which gives:
[[485], [523], [576], [733], [963], [1254]]
a potom:
for x in indices:
print (x[0])