Удалить один символ из строки - PullRequest
0 голосов
/ 17 ноября 2009

Я хотел бы удалить один символ из строки, подобной этой:

string = "ASDFVGHFJHRSFDZFDJKUYTRDSEADFDHDS"

print len(string)

(33)

Так что я хотел бы удалить один случайный символ в этой строке, а затем иметь len = 32 Какой лучший способ сделать это?

РЕДАКТИРОВАТЬ: спасибо за ваши ответы, но я кое-что забыл: я хотел бы напечатать снятый символ; Используя технику Anurag Uniyal?

Спасибо!

Ответы [ 3 ]

7 голосов
/ 17 ноября 2009
>>> s="ASDFVGHFJHRSFDZFDJKUYTRDSEADFDHDS"
>>> r=random.randrange(len(string))
>>> print s[:r]+s[r+1:]
ASDFVGHJHRSFDZFDJKUYTRDSEADFDHDS
5 голосов
/ 17 ноября 2009
>>> import random
>>> s = "ASDFVGHFJHRSFDZFDJKUYTRDSEADFDHDS"
>>> i = random.randint(0, len(s)-1)
>>> print s[:i] + s[i+1:]
ASDFVGHFJHRSFDZFDJKUYRDSEADFDHDS
>>> print s[i]
T

Обычно получают случайное число от 0 до len-1 строки и удаляют символ с этим индексом в строке. Вы можете преобразовать строку в список, удалить элемент и снова объединиться, но это будет быстрее и проще для чтения

3 голосов
/ 17 ноября 2009
import random

index = random.randint(0, len(yourstring)-1)
yourstring = yourstring[:index] + yourstring[index+1:]

print yourstring[index]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...