[英]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.