有没有办法从Python中删除字典中的项目?
另外,如何从字典中删除项目以返回副本(即,不修改原始文件)?
假设我们有一个Python字典d
,我们就像这样迭代它:
for k,v in d.iteritems():
del d[f(k)] # remove some item
d[g(k)] = v # add a new item
Run Code Online (Sandbox Code Playgroud)
(f
并且g
只是一些黑盒转换.)
换句话说,我们尝试添加/删除项目,d
同时使用迭代它iteritems
.
这个定义得很好吗?你能提供一些参考来支持你的答案吗?
(如果它被破坏了,如何解决这个问题非常明显,所以这不是我追求的角度.)
我在NetworkX中有一个有向图.边从0到1加权,表示它们发生的概率.网络连接非常高,所以我想修剪每个节点的边缘,只保留最高概率节点.
我不确定如何迭代每个节点并且只保留in_edges
图中的最高权重.是否有networkx功能允许我们这样做?
这是我希望能够做的一个例子.
Nodes:
A, B, C, D
Edges:
A->B, weight=1.0
A->C, weight=1.0
A->D, weight=0.5
B->C, weight=0.9
B->D, weight=0.8
C->D, weight=0.9
Final Result Wanted:
A->B, weight=1.0
A->C, weight=1.0
C->D, weight=0.9
Run Code Online (Sandbox Code Playgroud)
如果一个节点有两条边,并且它们都是最重的,我想保留它们.
好的,所以我必须摆脱所有具有负值的条目.我不知道为什么我的代码不起作用.
def main():
dic = {'aa': 20, 'bb': -10, 'cc': -12}
for i in dic:
if dic[i]<0:
del dic[i]
print(dic)
main()
Run Code Online (Sandbox Code Playgroud)