如果边缘具有以下特定属性,我将尝试创建边缘的反向副本:
for i in list(G.edges(data=True, keys=True)):
if i[3]['DIRECTIONA'] == 'bothDirections':
G.add_edge(i[1],i[0],attr_dict=i[3])
上面的方法在不方便的情况下可以正常工作,属性采用不同的格式,而不是简单的属性字典,该字典现在位于键“ attr_dict”下的另一个字典中。有什么方法可以简单地将属性词典包含在另一个词典中吗?由于格式不同,它使已经编写的代码无法工作,谢谢。
答案 0 :(得分:1)
您需要将边缘属性作为多个关键字参数(通常在函数签名中表示为public class a {
static String method1(String agr) {
return "method1";
}
static String method2(String agr) {
return "method2";
}
static String method3(String agr) {
return "method3";
}
public static Optional<String> cal(Optional<String> optionalS, Function<String, String> function, String agr) {
if (optionalS.isPresent())
return Optional.of(function.apply(agr));
return Optional.empty();
}
public static void main(String agr[]) {
cal(Optional.empty(), a::method1, "agr func1").orElseGet(() ->
cal(Optional.empty(), a::method2, "agr func2").orElseGet(() ->
cal(Optional.ofNullable("c"), a::method3, "agr func3").orElse("final result")
)
);
}
}
)提供:
**kwargs