Python:从字符串中删除char中的char

时间:2017-12-28 19:44:39

标签: python string python-3.x list for-loop

我正在尝试从字符串中逐字符删除(每次单个字符以查看字符串的外观)

var = 'string'
var1 = ''
cor = []
for i in range(0, len(var)):
    varl = var[:i] + var[(i+1):]
    cor.append(varl)
print (cor)

这就是我要得到的

['t', 'sr', 'sti', 'strn', 'strig', 'tring', 'sring', 'sting', 'strng', 'strig', 'strin']

我不知道为什么要获得列表中的前5个元素,它们不应该存在。 有谁知道如何解决这个问题,谢谢。

2 个答案:

答案 0 :(得分:0)

没有任何理由不这样做。但是,使用列表理解,看到它解决了你的问题:

var = 'string'
cor = [var[:i] + var[i+1:] for i in range(len(var))]
print (cor)

返回

['tring', 'sring', 'sting', 'strng', 'strig', 'strin']

输出看起来很奇怪的主要原因是循环应该添加len(var)变量max。

for i in range(0, len(var)):

答案 1 :(得分:0)

在变量定义中,您将第二个变量定义为var1(即var' one'),在for循环中,您有varl(即var' ; EL'。)

将循环中的varl更改为var1,您就会得到您期望的结果。