删除字符串/单词的方法

2024-04-19 22:24:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个基于目标值在列表中删除项的方法。下面是:

def remove (self, target_value):
    str_list = self.str_list
    pos = 0
    for item in str_list:
        if item != target_value:
            str_list[pos] = item
            pos += 1
    del str_list[pos:]
    return str_list

不幸的是,这只适用于一个单词,即

如果str_list=apple(在我的init方法中,它基本上被转换为list['a'、'p'、'p'、'l'、'e')

目标项目='a'

输出=pple。你知道吗

为了使它适用于多个单词,即

如果str\u list=我吃了一个苹果

target\u item=吃

输出=一个苹果

PS:不允许使用内置方法。你知道吗


Tags: 方法posself苹果target列表forvalue
1条回答
网友
1楼 · 发布于 2024-04-19 22:24:06

简单的方法是创建一个空列表,并将除目标之外的所有单词都推入其中。然后返回该列表:

def remove_token(list_val, target_val):
    size=0
    for item in list_val:
         size += 1
    str_list = [None]*size
    pos = 0
    counter_target = 0
    for item in list_val:
        if item != target_val:
            #print(pos)
            str_list[pos] = item
            pos += 1
        else:
            counter_target +=1
    return str_list[:-counter_target]

具体如下:

print(remove_token(["I", "ate", "an", "apple"], "ate"))

给出一个输出:

['I', 'an', 'apple']

注意:为了清楚起见,我使用的是Python3.6(除了print语句(对于Python2.x)之外,它还应该适用于早期版本)

相关问题 更多 >