Python: 将子列表中的项目提取到字符串中

Python: extract items in sublist into string

我得到了这样的列表:

[['zai4'], [' '], ['tui1'], ['jin4'], [' '], ['shi2'], ['pin3'], [' '], ['an1'], ['quan2'], [' '], ['xin4'], ['xi1'], [' ']]

如何转换成这种:

zai4 tui1 jin4 shi2 pin3 an1 quan2 xin4 xi1

谢谢。

我认为我的问题的独特之处在于如何从 子列表为字符串。

使用list comprehensionstr.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

试试这个方法:

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

您可以使用解包:

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'