Самый простой способ сделать это без установки каких-либо внешних зависимостей - использовать метод findall
из модуля re
.
from re import findall
def list_to_dict(lst):
result = {}
for value in lst:
match = findall(r"\d", value)
if len(match) > 0:
result[match[0]] = value.replace(match[0], "").replace(" ", " ")
return result
Если вы хотите, вы можете заменить 0
индекс с другим индексом, хотя вы должны делать это только в том случае, если вы уверены, что знаете, где находится целочисленный индекс.
Затем используйте свой список:
my_list = [
"this 1 is my string",
"a nice 2 string",
"string is 3 so nice"
]
Вы бы вызвали функцию,как это:
print(list_to_dict(my_list))
Что должно вывести это dict
:
{'1': 'this is my string', '2': 'a nice string', '3': 'string is so nice'}
Удачи.