python - 为什么该函数不将单词放入列表中?
问题描述
我正在尝试创建一个函数,您可以在其中放入单词列表并返回以 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
我已经修改了它,但无法弄清楚它有什么问题。
解决方案
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']))
推荐阅读
- android - 带有圆角和边框的 Android VideoView
- ruby-on-rails - Rails Assets 在生产模式下预编译错误
- angular - 如何跳过首先请求的最后一个响应?
- javascript - 替换一个字符后面不是相同的字符
- makefile - 在执行 i3-gaps 的制作时,未定义对“g_utf8_make_valid”的引用错误
- php - 如何处理发布请求的验证消息
- vue.js - nuxt 和电子 - 不能得到 /
- php - php codeigniter zip文件崩溃
- javascript - 我想要一个带有 md-select 的空白选项,并且我希望它在需要时不进行验证
- azure - 托管集群在哪里结束,我们的职责从 Azure Kubernetes 服务开始?