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

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

node.js - Getting the socket id,user id pair of a logged in user(s) -

keyboard - C++ GetAsyncKeyState alternative -