问题描述
我正在用Python来完成此任务,这与修改给定文本文件中的文本有关(读取模式,而不是写入)。 这是我的一段代码:
file = open("fileName")
suffix_list:[]
for e in file:
elements=e.split()
result=elements.endswith("a")
suffix_list.append(result)
然后我要打印带有后缀的列表的长度:
print(len(suffix_list))
相反,我收到此错误:“'列表'对象没有属性'endswith'”我真的不知道这里出了什么问题,有人可以帮忙吗?
1楼
用字符串而不是列表检查endswith
。
e.split()
给出一个列表。
遍历此列表,并检查列表中每个项目的endswith
。
suffix_list = []
for e in file:
for element in e.split():
if element.endswith("a"):
suffix_list.append(element)
print(len(suffix_list))
同样,列表理解版本:
suffix_list = []
for e in file:
suffix_list.extend([element for element in e.split() if element.endswith('a')])
假设您需要一个固定列表而不是列表列表。
2楼
for e in file:
elements=e.split()
result=[ele for ele in elements if ele.endswith("a")]
suffix_list.append(result)