我正在上Python课,我想不出一个带回家的小测验。我正在使用IDLE来编写代码
我们必须将名为names.txt的文件加载到列表中。该文件包含以下内容:
Joe Smith
000000
Jeff Mitchell
xxxxxxx
Benjamin Grant
12346
我需要过滤掉包含“xxxxxxx”或数字的行。我正在尝试将列表理解与以下代码一起使用:
> names = open(r'C:\Users\eesqu\Documents\Python\names1.txt','r')
> names_contents = names.read()
> filtered_names = [n for n in names_contents if n !='xxxxxxx']
> names.close()
> print(filtered_names)
但是,当我打印过滤后的_名称输出时,名称不会被过滤,而不是以下拉格式显示,它们的显示方式如下:
['J','o','e','S','m','i','t','h','n','0','0','0','0','n','J','e','f','f','m','i','t','c','h','e','l','l','n','x','x','x','x','x','n','n','J','a','i','n','G','r','n','t','n','n','n','n','1','2','3','4','6','n'\n']
我做错了什么?是否可以过滤掉“xxxxxxx”和数字
在我开始编写代码时,感谢您的支持
names_contents
是一个字符串,因此您要在这一行代码n !='xxxxxxx'
中将字符串与字符进行比较。因此,首先必须将字符串拆分为代表每行的字符串列表。试试这个你就快到了
在这里发布之前,您可能想使用您最喜欢的搜索引擎查找内容。这是一个非常琐碎的问题
您可以使用
readlines
读取数据,并使用列表理解来过滤xxx
输出
相关问题 更多 >
编程相关推荐