所以我有一个看起来像这样的文件:
Apples
Red
Round
Banana
Yellow
Long
我想创建一个列表,其中每个“组”都在一个单独的列表中,如下所示: [[苹果,红色,圆形],[香蕉,黄色,长]
我完全不知道如何继续。
答案 0 :(得分:2)
我们将在\n\n
(两个换行符)上拆分以分隔这些组,然后使用常规str.split
将这些组划分为项目
with open('yourfile.txt') as f:
l = list(map(str.split, f.read().split('\n\n')))
您可以在this repl.it
看到一个类似的示例(没有文件I / O)答案 1 :(得分:0)
我将内容拆分一次双换行,以便分别获得每个组,然后分别拆分每个组:
with f = open('file.txt'):
content = f.read()
result = [group.split() for group in content.split('\n\n')]
答案 2 :(得分:0)
短代码很棒但是如果你必须在2年后维护呢? ; - )
所以,这是我的更易读的版本,与现有版本一样:
file = open('file.txt')
text = file.read() # read everything into a string
file.close()
groups = text.split("\n\n") # create the groups
result = [ group.split("\n") for group in groups ] # split each group again at \n
这两行更长,但我更喜欢这种方式,因为我能够比其他版本更容易阅读和理解。不过这是你的决定。我希望我能帮到你。