gpt4 book ai didi

python - 如何提取列表中每个元组的 'x' 并以 python 方式连接?

转载 作者:行者123 更新时间:2023-11-28 20:25:22 24 4
gpt4 key购买 nike

我有一个这样的值,它是我从 NLTK 树中提取的。


[[('Happy', 'NNP'), ('Mother', 'NNP')], [('Day', 'NNP')], [('Joey', 'NNP'), ('M.', 'NNP'), ('Bing', 'NNP')], [('kind', 'NN')], [('happy', 'JJ'), ('wife', 'NN')], [('mother', 'NN')], [('friend', 'NN')]]

I would like the end result to be

['Happy Mother','Day','Joey M. Bing','kind','happy wife','mother','friend']

我如何用 Python 方式做到这一点?

这是我到目前为止所做的,我知道这是非常丑陋的。我是 python 处女。


Y = []
for x in X:
s = ""
for z in x:
s += z[0] + " "
Y.append(s)

print Y

最佳答案

您可以使用 zipstr.join 轻松完成。

result = [' '.join(zip(*row)[0]) for row in data]

zip(*sequences)[i] 是一种常见的 Python 习惯用法,用于从每个序列(列表、元组等)中获取第 i 个值

它类似于[seq[i] for seq in sequences] 但即使序列不可下标(例如迭代器)它也能工作。在 Cpython 中,由于使用内置函数,它可能会稍微快一些(尽管如果它很重要,您应该始终进行概要分析)。此外,它返回一个元组而不是列表。

有关详细信息,请参阅 the documentation .

关于python - 如何提取列表中每个元组的 'x' 并以 python 方式连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15373945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com