Как вырезать из строки первые вхождения букв и поместить их в массив?
Дается случайная строка. Например: abrakadabra.
Нужно из нее вырезать все первые вхождения букв и закинуть их в массив, при этом удалив из строки.
т.е. массив будет abdkr,
а строка будет aaabra
Как это можно реализовать?
Я предполагаю, что это регулярки. Я прав?
Ответы (2 шт):
Автор решения: Iwan__entry
→ Ссылка
s = input()
chars_vector = []
for i in range(len(s)):
if i == s.find(s[i]):
chars_vector.append(i)
ls_s = [i for i in s]
for i in chars_vector:
ls_s[i] = ''
for i in chars_vector:
chars_vector[chars_vector.index(i)] = s[i]
print(''.join(ls_s), chars_vector)
Автор решения: 69Mortes
→ Ссылка
# Дана строка. Сохранить в ней только первые вхождения символов, удалив все остальное.
# Результат вывести в виде кортежа.
stroka = "abrakadabra"
print("Нашe предложение: ", stroka) # выводим исходный результат
# Разделим нашу строку на отдельные символы:
a1 = [] # создаем пустой список, в котором будут уникальные элементы
# проверим нашу строку на дубляж символов
for spisok1 in stroka: # прогон букв по индексу из строки
a1.append(spisok1) # добавляем поочередно элементы списка
k1 = a1.count(spisok1) # создаем переменную для поиска дубляжа
if k1 == 2: # создаем условие, при нахождении дубляжа
print("удаляем дубляж: ", a1.pop()) # сообщаем какой элемент повторился и удаляем его
print("полученный кортеж", tuple(a1)) # Результат выводим в виде кортежа