我试图从字符串中逐个字符删除(每次单个字符,以查看字符串将是什么样子)
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个元素,它们不应该存在。有谁知道如何解决这个问题,谢谢。
这没有任何理由不起作用。但是,使用列表理解而不是看到它解决了您的问题:
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)):
在你的变量定义中,你有第二个变量定义为var1
(即var'one'),在你的for循环中,你有varl
(即var'el')。
将你的循环中的varl
s改为var1
,你会得到你所期望的。