dictionary - Replacing single value in dict in python list comprehension with other items -


currently populating generator networkx's multidigraph module, in way:

new_u0_edges = ((u, new_u1, key, edata) u, v, key, edata in                 self.g.edges_iter(u0, data=true,                 keys=true) if v == path[0]) 

but update single key, value pair in edata dict, edata['label']. slow way of doing lists instead of generators is:

new_u0_edges = ((u, new_u1, key, edata) u, v, key, edata in                 self.g.edges_iter(u0, data=true,                 keys=true) if v == path[0]) u, new_u1, key, edata in new_u0_edges:     edata['label'] = u0[0] + new_u1` 

fyi, u0 , new_u1 both strings. yes, debruijn graph in case you're interested.

my question is: is there way modify edata dict in generator? dict.update([iterable]) doesn't return value necessary generator, , list comprehensions don't seem allow reassigning.

thanks!

update: example variable data (still testing it's silly looking):

u0 = 'defghij' new_u1 = 'efghijklmnabcdefghiwxyz012345' key = 'rna' edata = {'color': '#e41a1c', 'seq_type': 'rna', 'fontcolor': '#e41a1c', 'weight': 1, 'label': 'defghijk (nreads=1)'} 

you write function processing you, call generate each element generator. utilize yield write own generator function rather trying cram in generator statement.


Comments

Popular posts from this blog

Change php variable from jquery value using ajax (same page) -

How can I fetch data from a web server in an android application? -

jquery - How can I dynamically add a browser tab? -