追加/遍历它

问题描述:

我想知道如何追加和弹出一个字符串只有特定的元素时,弹出一个字符串列表中的特定元素追加/遍历它

def letter(item): 

    lst = [] 
    for i in item: 
     if 'a' in item: 
      # not sure what to put here 
    return lst 

输出:

LST = [” a']

我只希望函数在'apple'中附加字母'a',这是可能的吗?

有没有办法只使用list.pop()函数从字符串中删除特定字母?

+0

Python code-smell#4:在迭代它时修改数组。 –

+0

你是什么意思?当'item'为''apple''时给'lst = ['a']'? –

+0

是的,只在第一个返回'a',所以第一个将会是lst = [a'] – Vellop

如果你需要使用list.pop(),您可以将字符串转换到一个列表:

def find_letter(item): 
    lst = [] 
    item=list(item) #convert your string to list 
    for index,letter in enumerate(item): 
     if letter=='a': 
      lst.append(letter) # add 'a' to your empty list 
      item.pop(index) # remove 'a' from the original string 
     item="".join(item) # convert back your list to a string 
    return lst,item 

这给出了以下的输出:

>>> find_letter("apple") 
>>> (['a'], 'pple') 

需要注意的是,你可以做使用列表理解更简单:

def find_letter(item): 
    word="".join([letter for letter in item if letter!='a']) 
    lst=[letter for letter in item if letter=='a'] 
    return lst,word 
+0

谢谢,那正是我要找的。 – Vellop

+0

不客气,请考虑接受答案,如果这是你需要的;) – CoMartel