У меня есть список, такой как:
list=["Chrm_23-56_python_regius","Chrm_3-89_elephant_regius",
"Chrm_13-56_monkey_regius","Chrm_13-34_rat_regius","Chrm_67-123_python_regius",
"chrm_90-345_elephant_regius","Chrm_67-124_monkey_regius",
"Chrm_345-456_rat_regius","Chrm_789-1000_python_regius"]
, и идея состоит в том, чтобы поместить все элементы в форму dict
с одинаковыми именами (без number-number
).
и получить что-то вроде:
dict = {'key1': ['Chrm_23-56_python_regius','Chrm_67-123_python_regius','Chrm_789-1000_python_regius'],
'key2': ['Chrm_3-89_elephant_regius','chrm_90-345_elephant_regius'],
'key3': ['Chrm_13-56_monkey_regius','Chrm_67-124_monkey_regius'],
'key4': ['Chrm_13-34_rat_regius','Chrm_345-456_rat_regius']}
Как вы можете видеть, например, в key1
3 значения (без номера-числа): от = до Chrm__python_regius
.
Я знаю, как увидеть, какой элемент одинаков без части number-number
, выполнив:
for i in list:
print(re.sub(r'[\d]+[-]+[\d]+', '',i)
Но я не знаю, как создать dict
и добавить в те же ключи значения, которые имеют одинаковую структуру имени. У кого-нибудь есть идея?