如果你需要使用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
Python code-smell#4:在迭代它時修改數組。 –
你是什麼意思?當'item'爲''apple''時給'lst = ['a']'? –
是的,只在第一個返回'a',所以第一個將會是lst = [a'] – Vellop