Предполагая, что у меня есть следующие последовательности:
A-B-C-D
A-C-C-E
B-B-B-D
A-A-E-D
...
Мне нужно назначить уникальные числовые идентификаторы для каждого элемента, например, A = 0, B = 1 и т. Д., И работать с этими идентификаторами. На данный момент я генерирую ID со следующей функцией:
id = -1
ids = dict()
def getid():
global id
id += 1
return id
def genid(s):
global id
if not s in ids:
ids[s] = getid()
return ids[s]
Я новичок, поэтому это может быть не идеальное решение, но оно работает. Однако я волнуюсь, что это будет очень медленно / неэффективно для большого количества .последовательностей и элементов (представьте вместо A
, B
и т. Д. В нем есть комбинация букв ABCD
, XYZ
и так далее). Я считаю, что у Python
есть механизмы для достижения этой цели более компактным способом. Может быть, в библиотеке collections
есть что-то, что может сделать это в 1-2 строки?