Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Pain777
1 / 1 / 0
Регистрация: 23.12.2017
Сообщений: 13
1

Удаление из строки повторяющихся символов

11.04.2018, 16:26. Просмотров 921. Ответов 14
Метки нет (Все метки)

Дана строка. Удалить из строки повторяющиеся символы. Например: ’aaaabbbaccccdd’ -> ’abacd’
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2018, 16:26
Ответы с готовыми решениями:

Удаление из строки символов с индексами, кратными 3
Задание в pythontutor звучит так : Дана строка. Удалите из нее все символы, чьи...

Удаление лишних символов (не являющихся буквами и пробелами) из строки при помощи регулярных выражений
Добрый день. Пытаюсь удалить лишние символы из строки (все, что не является...

Удаление повторяющихся элементов
Здравствуйте! Имеется список прямоугольников (box) Нужно убрать из этого...

Удаление повторяющихся элементов
Имеется текст: ads.57-ads.57 ads.51-ads.48 ads.51-max2.K13 ads.50-ads.50...

Удаление из списка повторяющихся элементов
Здравствуйте! По заданию нужно считать из файла символы и посчитать...

14
Wi0M
152 / 97 / 42
Регистрация: 26.10.2013
Сообщений: 619
11.04.2018, 16:52 2
тип данных set, вам в помощь)
0
Рыжий Лис
Просто Лис
1188 / 511 / 344
Регистрация: 17.05.2012
Сообщений: 2,066
Записей в блоге: 8
11.04.2018, 16:54 3
Может сами попробуете написать? А мы поможем?

Python
1
2
3
4
5
6
7
s = 'aaaabbbaccccdd'
new_s = [s[0]]
for i in s[1:]:
    if True:
        new_s.append(i)
 
print(''.join(new_s))
0
woldemas
443 / 315 / 173
Регистрация: 06.09.2013
Сообщений: 957
11.04.2018, 18:09 4
Pain777,
Python
1
2
3
s = "wfewgefedgfggf"
r = "".join(set(s))
print(r)
0
vic5710
260 / 174 / 108
Регистрация: 10.12.2016
Сообщений: 577
11.04.2018, 19:13 5
set и dict тут не годятся
Python
1
2
3
4
5
6
7
8
9
10
>>> def f(s):
    out = ''
    for i in range(len(s) - 1):
        if s[i] != s[i+1]: out += s[i]
    if s[-1] != out[-1]: out += s[-1]
    return out
 
>>> f('qqqwwwqw')
'qwqw'
>>>
0
woldemas
443 / 315 / 173
Регистрация: 06.09.2013
Сообщений: 957
11.04.2018, 19:27 6
Цитата Сообщение от vic5710 Посмотреть сообщение
set и dict тут не годятся
Точно, невнимательно прочитал задание
Python
1
2
3
4
5
6
s_in = 'aaaabbbaccccdd'
r = [None]
for c in s_in:
    if c != r[-1]: r.append(c)
s_out = ''.join(r[1:])
print(s_out)
1
vic5710
260 / 174 / 108
Регистрация: 10.12.2016
Сообщений: 577
11.04.2018, 19:29 7
woldemas, изящно
0
woldemas
11.04.2018, 19:34
  #8

Не по теме:


Цитата Сообщение от vic5710 Посмотреть сообщение
изящно
Да вот стараюсь по питонски научится

0
vic5710
11.04.2018, 19:46
  #9

Не по теме:


Да, после 20 лет С/С++ сишные шаблоны рвутся трудно :)

0
Semen-Semenich
599 / 379 / 301
Регистрация: 21.03.2016
Сообщений: 1,160
11.04.2018, 21:12 10
Python
1
2
3
4
5
6
x = 'aaaabbbaccccdd'
y = []
for i in x :
    if i not in y:
        y.append(i)
print(''.join(y))
0
vic5710
260 / 174 / 108
Регистрация: 10.12.2016
Сообщений: 577
11.04.2018, 22:12 11
Semen-Semenich, это вариант set, не годится
Python
1
2
3
4
5
6
7
8
9
>> x = 'qqqwwwqw'
>>> y = []
>>> for i in x:
    if not i in y:
        y += i
 
>>> ''.join(y)
'qw'
>>>
0
Semen-Semenich
599 / 379 / 301
Регистрация: 21.03.2016
Сообщений: 1,160
11.04.2018, 22:22 12
Цитата Сообщение от vic5710 Посмотреть сообщение
это вариант set, не годится
где вы видите там set?
а теперь два ответа второй это и есть set, разницу думаю заметите.
Python
1
2
3
4
5
6
7
8
9
10
11
x = 'aaaabbbaccccdd'
y = []
for i in x :
    if i not in y:
        y.append(i)
print(''.join(y))
 
print(''.join(set(x)))
abcd
 
dabc
0
vic5710
260 / 174 / 108
Регистрация: 10.12.2016
Сообщений: 577
11.04.2018, 22:28 13
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
где вы видите там set?
вы эмулировали set - набор уникальных символов в строке
д.б.
qwqw
Удаление из строки повторяющихся символов
0
Semen-Semenich
599 / 379 / 301
Регистрация: 21.03.2016
Сообщений: 1,160
11.04.2018, 22:35 14
vic5710, понял свою ошибку. условие как то звучит не конкретно по заданию. надо из непрерывной последовательности одинаковых элементов в строке удалять повторы а не из всей строки
0
vic5710
260 / 174 / 108
Регистрация: 10.12.2016
Сообщений: 577
11.04.2018, 22:38 15
Semen-Semenich,
Цитата Сообщение от Pain777 Посмотреть сообщение
’aaaabbbaccccdd’ -> ’abacd’
0
11.04.2018, 22:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2018, 22:38

Удаление лишних символов
Помогите удалит лишние символы. У меня программа выгружает данные из базы и...

Удаление символов в строке
Дана строка. Удалите из нее все символы, чьи индексы делятся на 3. задание...

Удаление заданной строки из файла
Прога должна стирать нужную строку из файла 'NamesL.txt' Строка, которую надо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru