[英]How to access element of Tuple in a list of tuples
我是Python的新手并且正在做一些事情。
我有一个元组元组列表(每个元组有3个子元组)如下:
ABC = [ (('The', 'AT'), ('Fulton', 'NP-TL'), ('County', 'NN-TL')),
(('Fulton', 'NP-TL'), ('County', 'NN-TL'), ('Grand', 'JJ-TL')),
(('County', 'NN-TL'), ('Grand', 'JJ-TL'), ('Jury', 'NN-TL')),
(('Grand', 'JJ-TL'), ('Jury', 'NN-TL'), ('said', 'VBD')),
(('Jury', 'NN-TL'), ('said', 'VBD'), ('Friday', 'NR')) ]
我需要在每个元组中提取子元组的第二个值,即3个值,并将它们放入元组中,这将被添加到列表中。
请协助如何获得这个。
预期结果:
我需要一个从它派生的新列表:
ABC_subset = [('AT','NP-TL', 'NN-TL'),
('NP-TL','NN-TL', 'JJ-TL'),
('NN-TL','JJ-TL', 'NN-TL'),
('JJ-TL','NN-TL', 'VBD'),
('NN-TL','VBD', 'NR')]
我正在尝试这样的事情:
ABC_subset = [(t[1],u[1],v[1]) for tup in ABC for t,u,v in tup]
但它没有给出预期的答案。
[(x[1] for x in y) for y in your_list]
假设你的第一个列表是orig
,你想要的第二个列表是newlist
。 它可以通过列表推导非常简单地完成:
newlist = [tuple(j[1] for j in i) for i in orig]
本质上,遍历orig
每一行i
,并从该行中的每个元组j
中提取第二个元素。
使用列表理解,如:
output = [tuple(j[1] for j in i) for i in inputlist]
您将需要将第二个表达式转换为元组,否则它将输出生成器对象
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.