簡體   English   中英

如何在元組列表中訪問元組的元素

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM