Python 传递文本文件并在有空间时创建新元组

Python 传递文本文件并在有空间时创建新元组,python,file-io,tuples,Python,File Io,Tuples,我有一个文本文件,我想传递给python,并在每次出现新空间时创建一个元组,然后创建一个新元组 比如说,我有以下文件 land, 3 -4,-2 4,3 ocean, 5 3,4 -6,5 5,6 我的目标是为第一个元组创建一个元组,然后当我们到达空间时,为第二个元组创建另一个元组,依此类推,直到我们到达最后一个。不是最优雅的解决方案。想要的结果很奇怪 fp = open('test.txt', 'r') file_contents = fp.read() result = [] for s

我有一个文本文件,我想传递给python,并在每次出现新空间时创建一个元组,然后创建一个新元组

比如说,我有以下文件

land, 3
-4,-2
4,3

ocean, 5
3,4
-6,5
5,6

我的目标是为第一个元组创建一个元组,然后当我们到达空间时,为第二个元组创建另一个元组,依此类推,直到我们到达最后一个。

不是最优雅的解决方案。想要的结果很奇怪

fp = open('test.txt', 'r')
file_contents = fp.read()
result = []
for split in file_contents.split('\n\n'):
    split = ','.join(split.split('\n'))
    split = ''.join(split.split(' '))
    split = split.split(',')
    for x in range(0, len(split)-1, 2):
        if x == 0:
            result.append(split[x])
            result.append((0, int(split[x+1])))
        else:
            result.append((int(split[x]), int(split[x+1])))
print result
产生:

['land', (0, 3), (-4, -2), (4, 3), 'ocean', (0, 5), (3, 4), (-6, 5), (5, 6)]

您具体希望输出是什么?您所说的“空格”是指空行吗?你想让元组看起来像什么。举个例子。@ooga,是的,我指的是新的空间line@MichaelBoselowitz,应该看起来像“陆地”(0,3),(-4,-2),(4,3),“海洋”(0,5),(3,4),(-6,5),(5,6)@user3556735那是什么样的对象?名单?我的问题是如何分离元组,以便在显示
结果[0]
时称为陆地和海洋