2016-06-27 10 views
0

ich ein Array für meine Ausgabe erstellt haben, indem Sie diese:Wert in einem Array in Python Löschen

for i in nameList 
    test_array.append({'Name': i, 'Email': memberMail, 'Department': memberDepartment}) 

jedoch später im Code muss ich bezeichneten Werte in meinem test_array je nach ihrer E-Mail entfernen . Danach kann ich einfach ausdrucken, was ich für meine CSV-Datei brauche.

Wie lösche ich einen bestimmten Eintrag aus dieser Wörterbuchliste?

Für diejenigen neugierig, wenn ich das Array zur Zeit gedruckt sieht es wie folgt aus:

[{'Department': 'Public Works', 'Email': '[email protected]', 'Name': 'Joe'}, {'Department': 'Infrastructure', 'Email': '[email protected]', 'Name': 'Bob'}, {'Department': 'IT', 'Email': '[email protected]', 'Name': 'Suzanne'}] 

Antwort

0

Try this:

for i in range(0,len(nameList)): 
     if nameList[i]['Email'] == '[email protected]" : 
      index = i; 

    del nameList[index]; 
0

wie bereits.

list_ = [{'Department': 'Public Works', 'Email': '[email protected]', 'Name': 'Joe'}, {'Department': 'Infrastructure', 'Email': '[email protected]', 'Name': 'Bob'}, {'Department': 'IT', 'Email': '[email protected]', 'Name': 'Suzanne'}] 
for val in list_: 
    if val['Email'] == '[email protected]': 
     list_.remove(val) 

Ergebnis

[{'Department': 'Infrastructure', 'Email': '[email protected]', 'Name': 'Bob'}, 
{'Department': 'IT', 'Email': '[email protected]', 'Name': 'Suzanne'}] 
0

Sie können über die Liste durchlaufen und in Bezug auf einen eindeutigen Wert oder einen Schlüssel löschen. Etwas wie folgt aus:

for entry in test_array: 
    if entry['Email'] == '[email protected]': 
     test_array.remove(entry) 
1

Denn wenn Sie wollen nicht test_array

filtered_test_array = filter(lambda entry: entry['Email'] != '[email protected]', test_array) 
ändern
Verwandte Themen