python - 'Builtin_function_or_method' 对象不可下标。使用 NumPy 时出错
问题描述
我是 NumPy 的新手,正在创建一个脚本来计算一个单词中每个元音的数量。到目前为止,我已经想出了这个计算所有元音的解决方案:
import numpy as np
num = 0
name = np.array['B','A', 'N', 'A', 'N', 'A']
print(name)
vovel = np.array['A', 'E', 'I', 'O', 'U']
for i in (0,4):
a = name[i:i+1]
if a in vovel:
num = num+1
print(num)
但是这段代码一次又一次地给出类型错误。您能否解释一下出了什么问题,以及如何更改它以显示每个元音出现的次数。
解决方案
我会尝试一些更像这样的东西:
对于每个元音(元音),检查元音与名称中的每个字母,并在循环结束时打印计数。
import numpy as np
name = np.array(['B', 'A', 'N', 'A', 'N', 'A'])
vowels = np.array(['A', 'E', 'I', 'O', 'U'])
print(name)
for vowel in vowels:
count = 0
for letter in name:
if letter == vowel:
count += 1
print(f'{vowel}: {count}')
还值得一提的是,在 Python 中字符串是可迭代的,这意味着您可以迭代它们。这意味着而不是传递一个 numpy 数组
['B', 'A', 'N', 'A', 'N', 'A']
你实际上可以只传递字符串
'BANANA'
你会得到同样的结果
推荐阅读
- ruby-on-rails - WEB和API的多重设计认证
- java - 如何更改 Checkstyle 中注释数组初始化子项的允许缩进级别?
- node.js - 由于 Node 版本,Heroku Next JS 应用推送被拒绝
- ruby - rbenv 路径:没有这样的文件或目录
- reactjs - 问题将 Material UI 从 v4 升级到 v5
- javascript - 是否可以禁用 SonarQube 检查 js 文件中导入和重命名的覆盖率?
- python - 如何对 Jupyterlab 调度程序中的 cron 作业进行故障排除?
- reactjs - 使用工具提示反应全日历
- r - R创建区域汇总组并包含在表格中
- java - 如何根据我使用的自定义类将输出从对象类名 + 哈希码更改为字符串输出