python - 是否有可能拥有一个带有分配给它的值列表的属性?
问题描述
我想为 NetworkX 中的单个属性分配多个值,但我能找到的每个示例似乎都表明单个属性只能有一个与之关联的值。
假设我有一个名为 N1 的节点,具有以下属性:
modifications_flags
total
属性modification_flags,我想是一个数字列表。
例如
modification_flags: 1,2,7,5
我想这样做的原因是,modifications_flags 的值是由如何从图中删除边来设置的。
当移除先前连接 N1 到 N2 的边时,根据最初链接到两个节点的边所拥有的属性,将 modify_flag 值分配给每个节点。
一个节点可能有多个边,如果删除了每条边,则需要将修改值传递给节点。
我目前正在尝试通过将 modify_flags 设为字符串数据类型,然后将数值修改标志值转换为字符串,然后将其添加到 modify_flags 字符串的末尾。
例如
modification_flags = '1'
modification value to be added (mod_value) = 4
modification_flags = modification_flag + str(mod_value)
modification_flags = '14'
然后我遍历字符串,就好像它是一个列表一样。虽然这适用于我的用例,但如果属性 modify_flags 可以是值列表会更好。
例如
modification_flags = [1,4]
这可能吗?有人可以请我指向文档/向我提供如何完成此操作的示例吗?
注意:我不是试图从列表或字典中获取属性值,而是让一个属性成为列表
解决方案
是的
import networkx as nx
G=nx.Graph()
G.add_node(1, attributelist = [])
G.add_node(2, attributelist = [ 'a', 'b', 6])
G.nodes(data=True)
> NodeDataView({1: {'attributelist': []}, 2: {'attributelist': ['a', 'b', 6]}})
推荐阅读
- excel - 使用来自多个工作表的条件将项目从多个范围添加到组合框
- python - TensorFlow 在 text_dataset_from_directory 之后重塑
- selenium-chromedriver - SpecFlow - 参数类型“System.MarshalByRefObject”无法转换为参数类型“TechTalk.SpecRun.Common.Logging.ITestLogger”
- node.js - 时间限制增加时如何自动将数据插入MongoDB
- string - RASA:如果示例包含数字作为数字序列,则检测到错误的意图和实体
- javascript - Discord.js V13:如何编辑交互的消息对象?
- python - 检测 Win 时出现问题(python 井字游戏)
- powershell - Powershell:方框中的问号是什么?
- c# - 如何将按钮添加到 WPF GridView
- ruby-on-rails - Rails API 应用程序的 CSRF 令牌