我得到了这样的列表:
[['zai4'], [' '], ['tui1'], ['jin4'], [' '], ['shi2'], ['pin3'], [' '], ['an1'], ['quan2'], [' '], ['xin4'], ['xi1'], [' ']]
我该如何将其转换为这种:
zai4 tui1 jin4 shi2 pin3 an1 quan2 xin4 xi1
谢谢。
我认为我问题的独特部分是如何从中提取内容子列为字符串。
尝试以下方法:
data=[['zai4'], [' '], ['tui1'], ['jin4'], [' '], ['shi2'], ['pin3'], [' '], ['an1'], ['quan2'], [' '], ['xin4'], ['xi1'], [' ']]
print([i[0] for i in data if i[0].isalnum()])
输出:
['zai4', 'tui1', 'jin4', 'shi2', 'pin3', 'an1', 'quan2', 'xin4', 'xi1']
如果您不需要列表,则:
print(" ".join([i[0] for i in data if i[0].isalnum()]))
输出:
zai4 tui1 jin4 shi2 pin3 an1 quan2 xin4 xi1
使用list comprehension
和str.join
a = [['zai4'], [' '], ['tui1'], ['jin4'], [' '], ['shi2'], ['pin3'], [' '], ['an1'], ['quan2'], [' '], ['xin4'], ['xi1'], [' ']]
print(" ".join(i[0] for i in a).replace(" ", ""))
输出:
zai4 tui1 jin4 shi2 pin3 an1 quan2 xin4 xi1
您可以使用拆箱:
s = [['zai4'], [' '], ['tui1'], ['jin4'], [' '], ['shi2'], ['pin3'], [' '], ['an1'], ['quan2'], [' '], ['xin4'], ['xi1'], [' ']]
new_s = ' '.join(a for [a] in s if a != ' ')
输出:
'zai4 tui1 jin4 shi2 pin3 an1 quan2 xin4 xi1'