从字符串中删除一个字符

n00*_*bie 0 python string

我想从这样的字符串中删除一个字符:

string = "ASDFVGHFJHRSFDZFDJKUYTRDSEADFDHDS"

print len(string)
Run Code Online (Sandbox Code Playgroud)

(33)

所以我想在这个字符串中删除一个随机字符,然后有一个len = 32这是最好的方法吗?

编辑:谢谢你的答案,但我忘记了一些事情:我想打印删除的字符; 使用Anurag Uniyal技术?

谢谢 !

gho*_*g74 7

>>> s="ASDFVGHFJHRSFDZFDJKUYTRDSEADFDHDS"
>>> r=random.randrange(len(string))
>>> print s[:r]+s[r+1:]
ASDFVGHJHRSFDZFDJKUYTRDSEADFDHDS
Run Code Online (Sandbox Code Playgroud)

  • +1 使用正确的函数 randrange —— randint 与正常的 Python 约定奇怪地不兼容(“右界总是被排除”),这真的让我很恼火!-) (2认同)

Anu*_*yal 5

>>> import random
>>> s = "ASDFVGHFJHRSFDZFDJKUYTRDSEADFDHDS"
>>> i = random.randint(0, len(s)-1)
>>> print s[:i] + s[i+1:]
ASDFVGHFJHRSFDZFDJKUYRDSEADFDHDS
>>> print s[i]
T
Run Code Online (Sandbox Code Playgroud)

基本上从字符串的0到len-1获取一个随机数并删除字符串中该索引处的char,您可以将字符串转换为list,del该项并重新连接但这将更快更容易阅读