首页 > 解决方案 > 为什么该函数不将单词放入列表中?

问题描述

我正在尝试创建一个函数,您可以在其中放入单词列表并返回以 A/a 开头的单词。我有这个代码:

def findA(words):
  wordslist=[]
  for x in words:
    if x[0]=="a" or x[0]=="A":
      wordslist.append[x]
  return wordslist
print(findA(wordlist)) 

当我运行它时它给了我这个错误:

File "main.py", line 8, in <module>
print(findA(wordlist))
File "main.py",line 6, in findA
wordslist.append[x]
TypeError: 'builtin_function_or_method' object is not subscriptable

我已经修改了它,但无法弄清楚它有什么问题。

标签: python

解决方案


append是一个函数,只接受一个参数。我使用列表理解并检查第一个字符x是否在包含'A'或的列表中'a'

试试下面的。

def findA(words: list) -> list:
    return [x for x in words if x[0] in ['A', 'a']]

print(findA(['a', 'b']))

推荐阅读