【发布时间】:2021-04-07 14:18:12
【问题描述】:
我有一个文本文件,其模式类似于
#
a,b
c,d
#
e,f
g,h
我希望打印结果,因为分隔的每个块都是一个元素,块中的每一行都是块一的子元素
[[[a, b], [c, d]], [[e, f], [g, h]]]
这是我的代码,有什么建议可以从这里得到结果吗?谢谢
ret_list = []
a = open(file_name,'r')
content = a.read()
content = content.split('#')
for l in content:
l = l.strip().split('\n')
for elem in l:
temp = []
elem = elem.split(',')
if '' not in elem:
temp.append(elem)
ret_list.append(temp)
a.close()
我得到的结果
[[], [['a', 'b']], [['c', 'd']], [['e', 'f']], [['g', 'h']]]
【问题讨论】:
-
这段代码实际做的和你想要做的有什么区别?
-
好吧,我的想法是先拆分由#分隔的部分,然后拆分这些部分中的行。但是,我正在努力将同一部分中的行返回为一个列表,导致我的代码有两个子列表而不是一个 [[a, b]]、[[c,d]] 中的两个元素而不是 [ [a, b], [c,d] ]
标签: python-3.x list split