python - “list”对象没有“lower”属性
问题描述
不知道是什么问题,我想制作一个程序,它接受一行字符串并返回单词及其类型,如“In”函数中所述。
这是代码
def __init__(self):
self.Action = "Action"
self.Noun = "Noun"
self.Shit = "Shit"
self.Error = "Error"
ACTION = ["Go","Kill","Jump"]
NOUN = ["Lion","Building","World"]
SHIT = ["shit","shit5"]
def Hard_worker(word):
Action = "Action"
Noun = "Noun"
Shit = "Shit"
Error = "Error"
raw_data = word.lower()
if raw_data in Action:
return(Action,word)
elif raw_data in Noun:
return(Noun,word)
elif raw_data in Shit:
return(Shit,word)
else:
return(Error,word)
def scan(line):
print"Scanning the line %r" % line
words = line.split()
return map(Hard_worker(words))
scan("Go Kill Jump")
任何帮助将不胜感激。
解决方案
return map(Hard_worker(words))
这不是你所说的map
。函数和可迭代对象必须是两个参数。
return map(Hard_worker, words)
您也可以在此处使用列表推导。
return [Hard_worker(word) for word in words]
推荐阅读
- css - Grid-Items(默认按钮)增加了网格容器?
- python - 删除列表中的列表并更改编码
- html - 如何防止 HTML 页面在单个单词之间换行而不阻止它换行?
- javascript - 如何将 javascript 函数(写在 .cshtml 文件中)覆盖到单独的 .js 文件中
- javascript - array.map 中的异步查询:ExpressJs 中的 Rest API
- python - 全局定义的线程局部属性在线程中不可访问
- php - 将 WooCommerce 购物车数量替换为可预订产品的人数
- android - 反应原生android:TypeError:网络请求失败
- neural-network - 预测数组为空 Mask RCNN
- python - Python Uvicorn - 获取 SSL 证书信息