Ich message_id
und message_writer_id
zusammen in einer Python-Liste wie so beibehalten:Extrahieren eines Satzes aus einer Liste von Verbundelementen in Python
composite_items = ['1:2', '2:2', '3:2', '4:1', '5:19', '20:2', '45:1', ...]
Wo jedes Element message_id:message_poster_id
ist.
Aus der obigen Liste möchte ich die set
von allen message_writer_ids
extrahieren. I.e. Ich möchte ein set
extrahieren alle eindeutigen Nummern nach:
enthält, so dass ich am Ende mit:
item_set = ['2', '1', '19']
Was der effizienteste Weg ist zu tun, dass in Python?
Derzeit Ich denke, ich werde so etwas tun:
new_list = []
for item in composite_items:
element = item.split(":")[1]
new_list.append(element)
new_set = set(new_list)
mich gefragt, ob es ein schnellerer Weg, dies zu erreichen.
Mehr Consise, kann etwas schneller sein. Übergeben wir das Generator-Verständnis an den Konstruktor von 'set':' set (o.split (':') [1] für o in composite_items) ' –
Fair genug, es ist eine Verbesserung. Ich akzeptiere dies als eine Antwort, wenn Sie es als eins veröffentlichen. –