我正在解析一些按某种顺序包含部分的文档。我需要知道它们的顺序以匹配一些解析目标。现在我有这些清单,这里有两个
possible_seq_1 = [1, '1A', '1B', 2, 3, 4, 5, 6, 7, '7A',
8, 9, '9A', '9B', 10, 11, 12, 13, 14, 15]
possible_seq_2 = [1, '1A', '1B', 2, 3, 4, 5, 6, 7, '7A',
8, 9, '9A(T)', '9B', 10, 11, 12, 13, 14, 15]
我想使用上面列表中的项目作为字典的键,其中的值将我引导到下一步
my_dict = dict()
aKey = = '_'.join([str(item) for item in possible_seq_1])
my_dict(aKey) = 'something'
因此,当我稍后处理某些内容时,我可以简单地测试该对象是否与我的字典中的一个键匹配
我的问题是,稍后我将向 possible_seq (uences) 添加一些未知数字(现在我有十个选择)我将序列键入我的代码中,就像我在这条消息中所做的那样,然后在我运行代码之前我必须进行一些更改以合并我的新序列。具体来说,我必须增加以下范围
my_dict = dict()
for sequence in range(1,10,1):
dict_key = '_'.join([str(item) for item in possible_seq_ + str(sequence)
my_dict[dict_key] = something
当我这样做时,我想知道 Python 是否提供了它知道的对象,因为它们已经在代码中定义了。我发现他们的名字是可用的,但我不知道如何抓取/引用对象本身
那是我认为我能做到的
seq_list = [ item for item in globals() if 'possible_seq' in item if type(item) == list ]
但是,我得到一个空列表,这很有趣,因为名称是一个字符串,所以 globals 给了我一个对象名称的列表 - 我想要实际的对象而不是这个代码给我的名字
seq_list = [ item for item in globals() if 'possible_seq' in item ]
我承认,当我处理这个问题时,我意识到更简单的做法是将我的序列作为列表添加到序列列表中,但现在我对这种其他方法感兴趣,只是为了提高我对 Python 的理解