2017-04-07 8 views
-3

Ich bin neu in Python. Ich versuche, ein Element aus dieser Python ListeLöschen Element aus Python-Liste

qundl_arry = [[u'WIKI/DIS.11'], [u'WIKI/HD.11'], [u'WIKI/MCD1.11'], 
[u'WIKI/AZO.11'], [u'WIKI/BBY1.11'], [u'WIKI/HRB.11']] 

Das Element I löschen möchten löschen ist:

alpha = [u'WIKI/MCD1.11'] 

Wenn ich den folgenden Code ausführen

np.delete(qundl_arry,alpha) 

ich der folgende Fehler

ValueError: invalid literal for long() with base 10: 'WIKI/MCD1.11' 
+3

Lesen Sie die Dokumentation erneut. – Divakar

+0

nicht sicher, welche Dokumente Sie auch beziehen. Ist etwas Spezifisches im Kopf? – user2560244

+1

Die Dokumentation für 'np.delete'. – user2357112

Antwort

0

Es ist eine regelmäßige Python list, kein numpy Array.

Verwenden Sie einfach so etwas wie:

>>> qundl_arry = [ 
    [u'WIKI/DIS.11'], [u'WIKI/HD.11'], [u'WIKI/MCD1.11'], 
    [u'WIKI/AZO.11'], [u'WIKI/BBY1.11'], [u'WIKI/HRB.11'] 
] 
>>> alpha = [u'WIKI/MCD1.11'] 
>>> index = qundl_arry.index(alpha) 
>>> index 
2 
>>> qundl_arry.pop(index) 
[u'WIKI/MCD1.11'] 
>>> qundl_arry 
[[u'WIKI/DIS.11'], [u'WIKI/HD.11'], [u'WIKI/AZO.11'], [u'WIKI/BBY1.11'], [u'WIKI/HRB.11']] 
1

Wenn Sie lesen die docs werden Sie feststellen, dass numpy.delete zurückkehrt sehen:

Eine Kopie arr mit den von obj angegebenen Elemente entfernt. Beachten Sie, dass nicht vor Ort gelöscht wird.

Also, um es arbeiten Sie benötigen:

qundl_arry = np.delete(qundl_arry,alpha) 
1

Diese Antwort auf jemanden gerichtet ist, mit numpy arrays. Der Autor dieser Frage bezog sich tatsächlich auf python lists. Auch wenn diese Antwort für die Frage nicht mehr relevant ist, werde ich sie hier belassen, da sie für jemand anderen nützlich sein könnte. Unter der Annahme,


, dass Sie nicht wissen, den Index, können Sie ein neues Array mit allen Elementen von qundl_arry außer wenn qundl_arry == alpha erstellen.

Beispiel:

qundl_arry = np.array([[u'WIKI/DIS.11'], [u'WIKI/HD.11'], [u'WIKI/MCD1.11'], [u'WIKI/AZO.11'], [u'WIKI/BBY1.11'], [u'WIKI/HRB.11']]) 

alpha = u'WIKI/MCD1.11' 

qundl_arry_new = qundl_arry[qundl_arry != alpha] 

print(qundl_arry_new) 
# ['WIKI/DIS.11' 'WIKI/HD.11' 'WIKI/AZO.11' 'WIKI/BBY1.11' 'WIKI/HRB.11'] 

Anmerkung:

np.delete ein Array zurückgibt. Ähnlich dem obigen Code wird np.deletequndl_arry unverändert lassen.

Verwandte Themen