我有一个代码来更新这样的字典:
c = { }
for i in ID :
d = {i : V[i]}
c.update(d)
ID和V都是具有复杂和巨大项目的序列数据,其中ID是列表,V是字典。
python中有没有办法在不使用“for”之类的循环过程的情况下执行该逻辑?
循环过程的使用会在运行时受到很多迭代的影响。
答案 0 :(得分:3)
不,你无法避免循环,但你可以尝试这些替代方案:
c = { }
for i in ID :
c[i] = V[i]
或
c = dict([(i, V[i]) for i in ID])
或
c = {i: V[i] for i in ID}
答案 1 :(得分:0)
代码的简短方法是:
remove_obj_with_warnings.sh
你也可以使用c.update({i:V[i] for i in ID})
,但它会迭代
map
它的所有O(n)你可以通过使用上面的符号将它移动到c.update(dict(map(lambda i:(i,V[i]),ID)))
部分而不是Python!