我使用这段代码拆分数据,生成一个包含三个子列表的列表。在有*或-时拆分。但它也读取\n\n *.不知道为什么?我不想读这些吗?有人能告诉我我做错了什么吗?这就是数据
* -Education of the Day -Education是在不发脾气或不失自信的情况下倾听几乎任何东西的能力-罗伯特·弗罗斯特·斯金纳是在已经学到的东西被遗忘的情况下幸存下来的东西-B.F.斯金纳*-Education of the Day -Fractals是混沌理论的重要组成部分,在研究大量领域时非常有用。它们存在于自然界中,因此可以用来帮助预测自然界中的许多事物。它们还可以帮助模拟自然,如在电影的图形设计(动画云等),或预测自然的行动。根据Just-Eat最近的一项调查,并不是每个英国人都知道苏格兰美食-According是什么。在1623名接受调查的英国人中:\n\n* 18%的英国人认为哈吉斯是某种苏格兰动物。\n\n* 15%的人认为它是一种苏格兰乐器。\n\n* 4%的人认为它是“哈利波特”中的人物。\n\n* 41%的人甚至不知道苏格兰的国菜是什么。\n\n虽然一小部分苏格兰人承认也不知道哈吉斯是什么,但他们也发现68%的苏格兰人希望看到哈吉斯作为外卖。由于对Facebook及其不断变化的隐私设置的担忧与日俱增,一些软件开发人员现在设计了一个网站,允许用户浏览任何没有正确隐私设置的人的状态更新,以防止这种情况发生。\n\n名为-With Openbook的该网站的最终目标是进一步向公众暴露Facebook及其隐私设置的问题,并向人们展示访问完全陌生的人的此类信息是多么容易。该网站是一个搜索引擎,因此很容易搜索“不要告诉任何人”或“我恨我的老板”之类的词,搜索范围也可以按性别缩小。*当日宠物鲨鱼梗-Land -Hamster -Tse -Tse Fly END
我使用以下代码:
contents = open("data.dat").read()
data = contents.split('*') #split the data at the '*'
newlist = [item.split("-") for item in data if item]
以使该错误类似于我必须获取的列表
发布于 2010-07-10 04:24:32
"\n\n“是输入数据的一部分,因此它被保存在python中。只需添加一个strip()即可将其移除:
finallist = [item.strip() for item in newlist]
请参阅条带()文档:http://docs.python.org/library/stdtypes.html#str.strip
来自评论的更新:
finallist = [item.replace("\\n", "\n").strip() for item in newlist]
发布于 2010-07-10 04:25:49
.read(“data.dat”).read()-读取文件中的所有符号,而不仅仅是你想要的那些。如果您不需要'\n‘,您可以尝试content.replace("\n",""),或者读取行(不是整个内容),并截断每行的最后一个符号’\n‘。
发布于 2010-07-10 05:17:32
这也将分割文本中的任何星号。
更好的实现应该是这样做:
lines = []
for line in open("data.dat"):
if line.lstrip.startswith("*"):
lines.append([line.strip()]) # append a list with your line
elif line.lstrip.startswith("-"):
lines[-1].append(line.strip())
有关更多家庭作业,请研究以这种方式使用open()函数时会发生什么。
https://stackoverflow.com/questions/3216238
复制相似问题