我有以下变量z
:
z = [
['8575748' , 't', 'TextA.\n'],
['8575748' , 'a', 'TextB.\n'],
['10556298', 't', 'TextC.\n'],
['10556298', 'a', 'TextD.\n'],
]
'TextA\n'
, 'TextB\n'
, 'TextC\n'
, and'TextD\n'
只不过是从.txt
文件中解析出来的文本样本。't'
和分别'a'
代表title
和abstract
。
我正在尝试产生以下输出:
[('8575748', 'TextA.' + ' ' + 'TextB.'), ('10556298', 'TextC.' + ' ' + 'TextD.')]
即title
和abstract
与空间连接' '
。请注意,\n
每个文本的末尾都有在连接期间要删除的内容。
我尝试了以下方法:
(list(zip(z[0], z[1]))[0][0] , \
list(zip(z[0], z[1]))[2][0].strip('\n') + list(zip(z[0], z[1]))[2][1].strip('\n'))
看起来很长的代码。我想要一个快速而干净的代码。
z = [
["8575748", "t", "TextA.\n"],
["8575748", "a", "TextB.\n"],
["10556298", "t", "TextC.\n"],
["10556298", "a", "TextD.\n"],
]
out = {}
for id_, _, txt in z:
out.setdefault(id_, []).append(txt.strip())
out = [(k, " ".join(v)) for k, v in out.items()]
print(out)
打印:
[('8575748', 'TextA. TextB.'), ('10556298', 'TextC. TextD.')]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句