Python:从字符串中删除char [char]

问题描述 投票:-2回答:2

我试图从字符串中逐个字符删除(每次单个字符,以查看字符串将是什么样子)

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个元素,它们不应该存在。有谁知道如何解决这个问题,谢谢。

python string python-3.x list for-loop
2个回答
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)):

0
投票

在你的变量定义中,你有第二个变量定义为var1(即var'one'),在你的for循环中,你有varl(即var'el')。

将你的循环中的varls改为var1,你会得到你所期望的。

© www.soinside.com 2019 - 2024. All rights reserved.